Connection String/Network Library

J

James

We've had a recurring problem where all of a sudden we get a DBMSSOCN
General Network Error on any page that connects to SQL Server. Then we have
to reboot the server and everything works fine again, for a few more hours
and then we have the same problem. Someone suggested adding ";Network
Library=DBMSSOCN" to our connection strings. I've tried to figure out
exactly what this does and why not having it would be a problem. Any ideas?
Thanks.
 
J

James

The only reason I tend to think it's the connection string is that we've
been pretty diligent about closing connections and we were connecting with
DSNs up until recently without problem. I'll build a connection string this
way and see how it goes.

Thanks
 
B

Bob Barrows [MVP]

James said:
We've had a recurring problem where all of a sudden we get a DBMSSOCN
General Network Error on any page that connects to SQL Server. Then
we have to reboot the server and everything works fine again, for a
few more hours and then we have the same problem. Someone suggested
adding ";Network Library=DBMSSOCN" to our connection strings. I've
tried to figure out exactly what this does and why not having it
would be a problem. Any ideas? Thanks.
If you are not using explicit connection objects, you could be disabling
connection pooling
http://support.microsoft.com/?kbid=271128
whch floods your sql server with excess connection, causing it to fail to
respond:
http://support.microsoft.com/?kbid=328476


Do not use this syntax:

set rs=createobject("adodb.recordset")
rs.Open strSQL, strConnectString ...

Do this instead:

set cn=createobject("adodb.connection")
cn.Open strConnectString
set rs=createobject("adodb.recordset")
rs.Open strSQL, cn ...

Another possible gotcha would be:
set cn=createobject("adodb.connection")
cn.Open strConnectString
set rs=createobject("adodb.recordset")
rs.ActiveConnection=cn
rs.Open strSQL

Without the use of the "set" keyword, you are causing a new implict
connection to be created instead of utilizing the already-open cn connection
(remember, the default property of a connection object is its ConnectString.
Without "set", the vbscript compiler thinks you want the default property,
not the object itself, so it uses that ConnectString to create a new
implicit connection behind the scenes).


HTH,
Bob Barrows
 
J

James

Ahh, thank you. I don't believe we ever use any of the syntaxes you
mentioned, but I will definitely look into that, as I'm not responsible for
coding all pages.

This error happened about an hour ago. There were two connection objects on
a particular page, with the exact same connection string, aside from the
DBMSSOCN aspect. Before this line was added, the error occurred on the
opening of the first connection object. The first connection object was
then changed to reflect that DBMSSOCN, while the second one was accidentally
overlooked. When the error occurred this time, the first connection did not
error, but the second one did.

The page didn't need two connection objects to the same database anyway, so
that's been fixed...but the fact that the first connection didn't error is
giving me a glimmer of hope. Perhaps I'm just grasping for any hope I can
find here, heh.

Thanks for the assistance thus far...it's much appreciated.

James
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top