Yes, big thoughts !!! I solved the problem in my VBA/DAO program this sunday, after 
reading and reading docs/archive.
The problem is that the Postgres ODBC driver doesn't implement the SQLSetPos call. 
This call is needed by DAO, when updating/deleting rows in an ODBC connection, if ... 
(that's where your platform problem occurs : it was working good for me on an NT, but 
not on a W98SR2).
This SQLSetPos call is related to the cursor library used by your ODBC connection. You 
can see the full error message using the \SQL.LOG trace of the ODBC driver manager.
The trick is to select another cursor library, and I did this with the following VBA 
code : 

            Set wrkSlave = CreateWorkspace("wrkSlave", "", "", dbUseODBC)
            wrkSlave.DefaultCursorDriver = dbUseODBCCursor

Check to VBA doc for the full explanation. You can choose another cursor driver if you 
which. I use this client-side ODBCCursor because it seemed much more fast than the 
server-side ones I tried, but YMMV.

I hope I can save you many hours of tearing your hair...

Nicolas Huillard

-----Message d'origine-----
De:     Wallingford, Ted [SMTP:[EMAIL PROTECTED]]
Date:   mardi 14 mars 2000 15:10
À:      'Nicolas Huillard'
Cc:     '[EMAIL PROTECTED]'
Objet:  ADO control



Hey All,

I am using ODBC driver version 6.40.00.07.

When I attempt the refresh method of an ADO data control in VB (MDAC
2.5/DCOM98 or Windows NT) I get an automation error, the ODBC-supplied error
messages are as follows in SQL tracing:

Numerous: DIAG [S1096] [Microsoft][ODBC Driver Manager] Information type out
of range (0) 

Numerous: DIAG [S1C00] Unknown statement option (Set) (10) 

Now, what follows is an explanation that a guy at Microsoft sent me:

[S1096] is server specific and by looking at the log insicates that we're
querying for the availability of static and keyset cursors at the server and
it's returning an error.

[S1C00] is Unknown, the driver doesn't understand what the client's asking
for in some contextx.

OK, this is where it gets good: it only happens on certain machines--some
running 98, some running Windows NT. I have two Nt machines on which my
program runs fine with ver 6.40.00.07 of the driver.

Any thoughts?

Thanks,
Ted Wallingford

Reply via email to