Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 60
  • Last Modified:

Access, OLEDB and connection string

I've inherited an app that has a connection string with :

"OLE DB Services = -4;"

I've read that this means that this will "disable OLE DB session pooling and automatic transaction enlistment".

What exactly does this mean?  Do I want this?  What are the consequences of removing it?
0
HLRosenberger
Asked:
HLRosenberger
  • 4
  • 4
  • 3
2 Solutions
 
Pawan KumarDatabase ExpertCommented:
Don't remove it. It is important. Connection pooling is good.

Consider connection pool as a cache of database connections maintained so that the connections can be reused when future requests to the database are required.

For more details refer blogs-

https://en.wikipedia.org/wiki/Connection_pool
http://geekexplains.blogspot.in/2008/06/what-is-connection-pooling-why-do-we.html
0
 
HLRosenbergerAuthor Commented:
but I read that having that setting disables pooling, no?   So I should remove it from the connection string, yes?
0
 
Pawan KumarDatabase ExpertCommented:
Yes you are right. It will disables OLE DB session pooling and automatic transaction enlistment.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
slightwv (䄆 Netminder) Commented:
It may be a small distinction but there is a distinction that I think should be pointed out.

It doesn't "disable" anything.

It "enables"   "All except pooling and automatic transaction enlistment"

https://msdn.microsoft.com/en-us/library/ms724518(v=vs.85).aspx
0
 
HLRosenbergerAuthor Commented:
Got it.   Yes, so I then should remove that setting from the connection string.
0
 
slightwv (䄆 Netminder) Commented:
>> so I then should remove that setting from the connection string

We cannot answer that.  We do not know what services you need or do not need.

Whenever I inherit code, I assume there is probably a pretty good reason for the previous developer to have written the code they way they did.

Granted, a few times the developer just had no idea what they were doing and all the things they did were wrong but that should be rare.

If the setting is in the code, I would suggest leaving it.

What makes you want to remove it?
0
 
Pawan KumarDatabase ExpertCommented:
Yes if it is not creating any issues with the application then why one should remove it. Let it be.

If you face any issue then you can see. Also I think the developer who has written it must have thought about it...

So leave it for now at least that what i think.
0
 
HLRosenbergerAuthor Commented:
but if I leave that setting, pooling is disabled.

Why remove it?  I do not like setting thing that I don't know what they do.  I don't know why he would want to disable pooling.
0
 
slightwv (䄆 Netminder) Commented:
>> I do not like setting thing that I don't know what they do.

So, if there was some large and complex formula in the code that you didn't understand, you would just delete it?

You don't know why a certain record was inserted into a certain table, just remove the insert statement?

>>but if I leave that setting, pooling is disabled.

So?  What makes you think that is a bad thing?  What makes you think it is a good thing?

>>I don't know why he would want to disable pooling.

EXACTLY, and that is why you should not just enable it.  You don't "know why" it was done in the first place.

Maybe pooling is actually OK in your system but "automatic transaction enlistment" isn't.  So removing that line will also enable that?
0
 
Pawan KumarDatabase ExpertCommented:
I would still urge not to remove that line. Analyze the system for some time and then decide. If you face issues with that then you can go ahead and remove it.

The whole point it the developer who put that in the connection string must have though about it because people normally put only the database name, server name and few compulsory things in connection string. So thats why let leave it there only for time being.

Hope it helps.
0
 
HLRosenbergerAuthor Commented:
Thanks!
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now