Problem with ODBC driver 3.5 vs 4.0 
Author Message
 Problem with ODBC driver 3.5 vs 4.0

Hello,

I'm writing a program using VC++ 6.0, MFC ODBC classes, have the ODBC driver
v3.5 installed, and read/write to MS Access 97. The code I've written works
fine on my machine (Win 98).

But, when I try to run the executable on another PC (also win98)  that has
v4.0 of the ODBC driver installed, I have trouble. Seems that writing data
to the tables work fine the first time I do it (writing 16 records in a
loop), but when the code tries to delete the 16 records and write 16 new
ones, only the first two records are actually deleted, the 16 new ones are
just added to the 14 remaining.

I assume this is a driver or setup problem, since the code definitely runs
correctly on the PC where I've compiled and linked the program. Regarding
VC++ settings, for MFC I've selected "Use MFC in a Static Library".

I've also checked the ODBC settings in control panel. On the two machines,
they are:

                                v3.5                    v4.0

DefaultDir                  empty                 empty
Driver                        empty                 empty
ExtendedAnsiSQL     not shown           0
FIL                            MS Access         MS Access
ImplicitCommitSync    Yes                    No
MaxBufferSize            512                    2048
MaxScanRows            8                        8
PageTimeout               5                        5
ReadOnly                    0                        0
SafeTransactions          0                        0
Threads                       3                        3
UserCommitSync        Yes                    Yes

Could this problem be solved simply by changing these parameters? Or do I
need to change the linker settings? Or should I upgrade to the v4.0 ODBC
driver on my PC? Or none of the above?

Any hints or suggestions regarding this would be much appreciated.

Regards,

Knut Hovda
PTI / Scandpower



Thu, 07 Mar 2002 03:00:00 GMT  
 Problem with ODBC driver 3.5 vs 4.0
Hello,

Please allow me to answer my own question:

The bug caused by different versions of the ODBC drivers regarding deletion
of existing records is now solved. It turned out there is a bug in the v4.0
ODBC driver, and a patch is available on the Microsoft site.

Check out the bug description:

http://support.microsoft.com/support/kb/articles/q230/1/31.asp

The needed file, JetODBC.exe (210KB) can be obtained from

http://www.microsoft.com/data/download.htm

Details:

The specific MDAC 2.1 DLL causing the problem is odbcjt32.dll.
Version 4.0.3513.00 shipped with MDAC 2.1 that was included with SQL Server
7.0.
Version 4.0.3711.08 of odbcjt32.dll shipped with MDAC 2.1 SP1.

Regards,

Knut

Quote:

>I'm writing a program using VC++ 6.0, MFC ODBC classes, have the ODBC
driver
>v3.5 installed, and read/write to MS Access 97. The code I've written works
>fine on my machine (Win 98).

>But, when I try to run the executable on another PC (also win98)  that has
>v4.0 of the ODBC driver installed, I have trouble. Seems that writing data
>to the tables work fine the first time I do it (writing 16 records in a
>loop), but when the code tries to delete the 16 records and write 16 new
>ones, only the first two records are actually deleted, the 16 new ones are
>just added to the 14 remaining.



Fri, 08 Mar 2002 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Please help to redistribute ODBC 3.5 driver for JetEngine 4.0

2. Oracle ODBC driver instead of Microsofts ODBC Oracle driver

3. 16-bit ODBC drivers for NT 4.0

4. MFC and dBase ODBC Driver 4.0

5. CRecordset/CDatabase broken by ODBC 3.5?

6. ODBC 3.5 UNICODE VC++ 5.0 CDatabase

7. DAO 3.5 VC++ ODBC Connect Failure

8. ODBC 3.5 buggy as hell

9. Any samples on installing ODBC 3.5 for Access

10. ODBC 3.5 UNICODE VC++ 5.0 CDatabase

11. Q: MFC for ODBC 3.5

12. Migration of DAO 3.0 vs. DAO 3.5

 

 
Powered by phpBB® Forum Software