Connection String/Network Library

Discussion in 'ASP General' started by James, Jan 31, 2005.

  1. James

    James Guest

    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.
    James, Jan 31, 2005
    #1
    1. Advertising

  2. James

    James Guest

    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


    "Curt_C [MVP]" <software_AT_darkfalz.com> wrote in message
    news:...
    > Building your connection string
    > http://www.darkfalz.com/1059
    >
    > Beyond that it's most likely NOT the connection string, its either the
    > network communications, unclosed connections, etc.
    >
    > --
    > Curt Christianson
    > Site & Scripts: http://www.Darkfalz.com
    > Blog: http://blog.Darkfalz.com
    >
    >
    > "James" <> wrote in message
    > news:%...
    > > 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.
    > >
    > >

    >
    >
    James, Jan 31, 2005
    #2
    1. Advertising

  3. James wrote:
    > 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
    --
    Microsoft MVP -- ASP/ASP.NET
    Please reply to the newsgroup. The email account listed in my From
    header is my spam trap, so I don't check it very often. You will get a
    quicker response by posting to the newsgroup.
    Bob Barrows [MVP], Jan 31, 2005
    #3
  4. James

    James Guest

    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



    "Bob Barrows [MVP]" <> wrote in message
    news:%...
    > James wrote:
    > > 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
    > --
    > Microsoft MVP -- ASP/ASP.NET
    > Please reply to the newsgroup. The email account listed in my From
    > header is my spam trap, so I don't check it very often. You will get a
    > quicker response by posting to the newsgroup.
    >
    >
    James, Jan 31, 2005
    #4
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kal
    Replies:
    1
    Views:
    9,516
    Kevin Spencer
    Jun 21, 2004
  2. Jane Davis

    Network Service account over network

    Jane Davis, Jun 22, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    438
    Kevin Spencer
    Jun 22, 2005
  3. Bill Volk
    Replies:
    1
    Views:
    3,142
    Bill Volk
    Jul 2, 2003
  4. kin
    Replies:
    0
    Views:
    914
  5. king
    Replies:
    1
    Views:
    274
Loading...

Share This Page