3 Replies Latest reply on Mar 21, 2001 6:15 PM by 3004

    Lost network connection: SQLSTATE '08S01'

    3004
      I'm using release 8.1.7.2.0 of the Oracle
      ODBC driver. According to the release notes
      the Oracle ODBC driver 8.1.7.1.0 will return
      the SQLSTATE '08S01' when the network
      connection is lost (Bug1287078).

      However, if the network connection is lost,
      the Oracle driver does NOT detect in
      SQLExecDirect that the connection was lost;
      SQLExecDirect returns S1000 instead of 08S01.
      All I want to do, is to update a record.
      Is this still a bug?

      -- Andri W.
        • 1. Lost network connection: SQLSTATE '08S01'
          3004
          Are you sure it's returning 'S1000'? That doesn't appear to be a valid ODBC 3.0 SQLSTATE code. The SQLSTATE codes changed between ODBC 2.0 & 3.0, so if your app is announcing itself as ODBC 2.0 compliant, you'll get back ODBC 2.0 error codes. 'S1000' may be the correct ODBC 2.0 translation of the '08S01' ODBC 3.0 SQLSTATE.

          Justin
          • 2. Lost network connection: SQLSTATE '08S01'
            3004
            I'm positive about the 'S1000'.
            I saw that some ODBC functions did produce
            the SQLSTATE '08S01', whereas other
            functions produced SQLSTATE 'S1000'. This
            is an ODBC 2.0 compliant state meaning
            something like 'general error'.

            So I still don't know in some cases that
            my connection was lost. Does anybody know
            how to solve my problem ??

            Thanx,
            -- Andri W.
            null
            • 3. Lost network connection: SQLSTATE '08S01'
              3004
              Which functions are returning the correct error code, and which are returning the incorrect code?

              Is it possible that one function returns the correct code, then the subsequent functions return the general error 'S1000'? This would seem to make sense to me, since the driver may only notice the dropped connection once, when it's actually lost. After that, anything you do on the connection would fail in a nondescript manner.

              Justin