Page 1 of 1
ORACLE ODBC Driver on Windows 8.1
Posted: Sat 06 Jun 2015 16:06
by pjan
I'am trying to run our MFC based applications with the devart ODBC Driver for Oracle.
I can test the connection in the driver-setup ( ODBC-Driver Manager ) but the applications are not runnig.
Here my log:
Code: Select all
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(954) : AppMsg - DBMS: Oracle
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(958) : AppMsg - Version: 11.02.0040
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(964) : AppMsg - ODBC Driver Manager Version: 03.80.0000
First-chance exception at 0x76E52EEC (KernelBase.dll) in application.exe: 0x0EEDFADE (parameters: 0x00F02716, 0x00BE4060, 0x00000000, 0x00B2A750, 0x00000001, 0x0049F284, 0x0049F244).
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - Key fields not found
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - State:HY000,Native:-858993460,Origin:[Devart][ODBC][Oracle]
Any idea what i'am doing wrong ?
Thanks
peter.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Tue 09 Jun 2015 11:32
by AlexP
Hello,
We can't reproduce the problem, please send us your application and tracing log file.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Fri 12 Jun 2015 11:03
by pjan
Hi Alex,
this is the debug output from visual studio.
What do you mean with application log, this is the same for me.
Thanks
Peter.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Fri 12 Jun 2015 13:16
by AlexP
I meant your application (the source code), that causes this error, and the Log file, that may be generated using ODBC-Driver Manager in the following way:
1) open ODBC-Driver Manager;
2) switch to the Tracing tab;
3) specify the Log File Path
4) select the Machine-Wide tracing for all user identifier checkbox
5) Start tracing now
6) run your application
7) send us the log
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Fri 12 Jun 2015 17:25
by pjan
Here the ODBC log:
Code: Select all
Lager32 1328-1254 ENTER SQLAllocEnv
HENV * 0x0095AA64
Lager32 1328-1254 EXIT SQLAllocEnv with return code 0 (SQL_SUCCESS)
HENV * 0x0095AA64 ( 0x00BF76D8)
Lager32 1328-1254 ENTER SQLAllocConnect
HENV 0x00BF76D8
HDBC * 0x009642BC
Lager32 1328-1254 EXIT SQLAllocConnect with return code 0 (SQL_SUCCESS)
HENV 0x00BF76D8
HDBC * 0x009642BC ( 0x00BF7758)
Lager32 1328-1254 ENTER SQLSetConnectAttr
SQLHDBC 0x00BF7758
SQLINTEGER 103 <SQL_ATTR_LOGIN_TIMEOUT>
SQLPOINTER 15
SQLINTEGER 0
Lager32 1328-1254 EXIT SQLSetConnectAttr with return code 0 (SQL_SUCCESS)
SQLHDBC 0x00BF7758
SQLINTEGER 103 <SQL_ATTR_LOGIN_TIMEOUT>
SQLPOINTER 15
SQLINTEGER 0
Lager32 1328-1254 ENTER SQLSetConnectAttr
SQLHDBC 0x00BF7758
SQLINTEGER 110 <SQL_ATTR_ODBC_CURSORS>
SQLPOINTER 2 <SQL_CUR_USE_DRIVER>
SQLINTEGER 0
Lager32 1328-1254 EXIT SQLSetConnectAttr with return code 0 (SQL_SUCCESS)
SQLHDBC 0x00BF7758
SQLINTEGER 110 <SQL_ATTR_ODBC_CURSORS>
SQLPOINTER 2 <SQL_CUR_USE_DRIVER>
SQLINTEGER 0
Lager32 1328-1254 ENTER SQLDriverConnectW
HDBC 0x00BF7758
HWND 0x00010010
WCHAR * 0x560E54F4 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x560E54F4
SWORD -3
SWORD * 0x00000000
UWORD 1 <SQL_DRIVER_COMPLETE>
Lager32 1328-1254 EXIT SQLDriverConnectW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
HWND 0x00010010
WCHAR * 0x560E54F4 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x560E54F4 <Invalid buffer length!> [-3]
SWORD -3
SWORD * 0x00000000
UWORD 1 <SQL_DRIVER_COMPLETE>
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 9 <SQL_ODBC_API_CONFORMANCE>
PTR 0x0079EE58
SWORD 2
SWORD * 0x0079EE64
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 9 <SQL_ODBC_API_CONFORMANCE>
PTR 0x0079EE58 (1) <SQL_OAC_LEVEL1>
SWORD 2
SWORD * 0x0079EE64 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 15 <SQL_ODBC_SQL_CONFORMANCE>
PTR 0x0079EE4C
SWORD 2
SWORD * 0x0079EE64
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 15 <SQL_ODBC_SQL_CONFORMANCE>
PTR 0x0079EE4C (1) <SQL_OSC_CORE>
SWORD 2
SWORD * 0x0079EE64 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 79 <SQL_POS_OPERATIONS>
PTR 0x0079EE54
SWORD 4
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 79 <SQL_POS_OPERATIONS>
PTR 0x0079EE54 ( 0x0000001F)
SWORD 4
SWORD * 0x0079EE60 (4)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 80 <SQL_POSITIONED_STATEMENTS>
PTR 0x0079EE48
SWORD 4
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code -1 (SQL_ERROR)
HDBC 0x00BF7758
UWORD 80 <SQL_POSITIONED_STATEMENTS>
PTR 0x0079EE48
SWORD 4
SWORD * 0x0079EE60
DIAG [HYC00] [Devart][ODBC]Optional feature not implemented (7986460)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 46 <SQL_TXN_CAPABLE>
PTR 0x0079EE3C
SWORD 2
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 46 <SQL_TXN_CAPABLE>
PTR 0x0079EE3C (3) <SQL_TC_DDL_COMMIT>
SWORD 2
SWORD * 0x0079EE60 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 23 <SQL_CURSOR_COMMIT_BEHAVIOR>
PTR 0x0096430A
SWORD 2
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 23 <SQL_CURSOR_COMMIT_BEHAVIOR>
PTR 0x0096430A (2) <SQL_CB_PRESERVE>
SWORD 2
SWORD * 0x0079EE60 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 24 <SQL_CURSOR_ROLLBACK_BEHAVIOR>
PTR 0x0096430C
SWORD 2
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 24 <SQL_CURSOR_ROLLBACK_BEHAVIOR>
PTR 0x0096430C (2) <SQL_CB_PRESERVE>
SWORD 2
SWORD * 0x0079EE60 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 82 <SQL_BOOKMARK_PERSISTENCE>
PTR 0x00964314
SWORD 4
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 82 <SQL_BOOKMARK_PERSISTENCE>
PTR 0x00964314 ( 0x00000010)
SWORD 4
SWORD * 0x0079EE60 (4)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 81 <SQL_GETDATA_EXTENSIONS>
PTR 0x0079EE30
SWORD 4
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 81 <SQL_GETDATA_EXTENSIONS>
PTR 0x0079EE30 ( 0x00000007)
SWORD 4
SWORD * 0x0079EE60 (4)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 25 <SQL_DATA_SOURCE_READ_ONLY>
PTR 0x00BF5E10
SWORD 20
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 25 <SQL_DATA_SOURCE_READ_ONLY>
PTR 0x00BF5E10 [ 2] "N"
SWORD 20
SWORD * 0x0079EE60 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 29 <SQL_IDENTIFIER_QUOTE_CHAR>
PTR 0x00BFB428
SWORD 4
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 29 <SQL_IDENTIFIER_QUOTE_CHAR>
PTR 0x00BFB428 [ 2] """
SWORD 4
SWORD * 0x0079EE60 (2)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 17 <SQL_DBMS_NAME>
PTR 0x00BF04C0
SWORD 128
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 17 <SQL_DBMS_NAME>
PTR 0x00BF04C0 [ 12] "Oracle"
SWORD 128
SWORD * 0x0079EE60 (12)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 18 <SQL_DBMS_VER>
PTR 0x00BFC448
SWORD 128
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 18 <SQL_DBMS_VER>
PTR 0x00BFC448 [ 20] "11.02.0040"
SWORD 128
SWORD * 0x0079EE60 (20)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 10 <SQL_ODBC_VER>
PTR 0x00BFBB48
SWORD 128
SWORD * 0x0079EE60
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 10 <SQL_ODBC_VER>
PTR 0x00BFBB48 [ 20] "03.80.0000"
SWORD 128
SWORD * 0x0079EE60 (20)
Lager32 1328-1254 ENTER SQLAllocStmt
HDBC 0x00BF7758
HSTMT * 0x00964C1C
Lager32 1328-1254 EXIT SQLAllocStmt with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
HSTMT * 0x00964C1C ( 0x00BF7AA0)
Lager32 1328-1254 ENTER SQLSetStmtAttr
SQLHSTMT 0x00BF7AA0
SQLINTEGER 0 <SQL_ATTR_QUERY_TIMEOUT>
SQLPOINTER 15
SQLINTEGER 0
Lager32 1328-1254 EXIT SQLSetStmtAttr with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x00BF7AA0
SQLINTEGER 0 <SQL_ATTR_QUERY_TIMEOUT>
SQLPOINTER 15
SQLINTEGER 0
Lager32 1328-1254 ENTER SQLGetFunctions
HDBC 0x00BF7758
UWORD 59
UWORD * 0x0079EFE8
Lager32 1328-1254 EXIT SQLGetFunctions with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 59
UWORD * 0x0079EFE8 (1)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 10 <SQL_ODBC_VER>
PTR 0x00BF04C0
SWORD 60
SWORD * 0x0079EFB4
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 10 <SQL_ODBC_VER>
PTR 0x00BF04C0 [ 20] "03.80.0000"
SWORD 60
SWORD * 0x0079EFB4 (20)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 44 <SQL_SCROLL_OPTIONS>
PTR 0x0079EFE0
SWORD 4
SWORD * 0x0079EFEC
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 44 <SQL_SCROLL_OPTIONS>
PTR 0x0079EFE0 ( 0x00000017)
SWORD 4
SWORD * 0x0079EFEC (4)
Lager32 1328-1254 ENTER SQLGetInfoW
HDBC 0x00BF7758
UWORD 43 <SQL_SCROLL_CONCURRENCY>
PTR 0x00964CC4
SWORD 4
SWORD * 0x0079EFE4
Lager32 1328-1254 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00BF7758
UWORD 43 <SQL_SCROLL_CONCURRENCY>
PTR 0x00964CC4 ( 0x0000000B)
SWORD 4
SWORD * 0x0079EFE4 (4)
Lager32 1328-1254 ENTER SQLSetStmtAttr
SQLHSTMT 0x00BF7AA0
SQLINTEGER 6 <SQL_ATTR_CURSOR_TYPE>
SQLPOINTER 3 <SQL_CURSOR_STATIC>
SQLINTEGER 0
Lager32 1328-1254 EXIT SQLSetStmtAttr with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x00BF7AA0
SQLINTEGER 6 <SQL_ATTR_CURSOR_TYPE>
SQLPOINTER 3 <SQL_CURSOR_STATIC>
SQLINTEGER 0
Lager32 1328-1254 ENTER SQLSetStmtAttr
SQLHSTMT 0x00BF7AA0
SQLINTEGER 7 <SQL_ATTR_CONCURRENCY>
SQLPOINTER 4 <SQL_CONCUR_VALUES>
SQLINTEGER 0
Lager32 1328-1254 EXIT SQLSetStmtAttr with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x00BF7AA0
SQLINTEGER 7 <SQL_ATTR_CONCURRENCY>
SQLPOINTER 4 <SQL_CONCUR_VALUES>
SQLINTEGER 0
Lager32 1328-1254 ENTER SQLPrepare
HSTMT 0x00BF7AA0
UCHAR * 0x0097FAB0 [ -3] "SELECT "NUMMER","ZEILE","LIEFERANT","ARTIKEL","ZEILE1","ZEILE2","FREITEXT1","FREITEXT2","PREIS","FILTER","LABOR","BESTELLT","BESTELLTAM","BESTELLTDURCH","EINGANG","EINGANGAM","EINGANGDURCH","FEHLT","FEHLTAM","FEHLTDURCH","BEWERTUNG","BEWERTUNGAM","BEWERTUNGDURCH","STATUS","TYP","ARTIKELNUMMER","BEGRUENDUNG" FROM "LAGER_JOURNAL" WHERE NUMMER=0 AND ZEILE=0\ 0"
SDWORD -3
Lager32 1328-1254 EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0x00BF7AA0
UCHAR * 0x0097FAB0 [ -3] "SELECT "NUMMER","ZEILE","LIEFERANT","ARTIKEL","ZEILE1","ZEILE2","FREITEXT1","FREITEXT2","PREIS","FILTER","LABOR","BESTELLT","BESTELLTAM","BESTELLTDURCH","EINGANG","EINGANGAM","EINGANGDURCH","FEHLT","FEHLTAM","FEHLTDURCH","BEWERTUNG","BEWERTUNGAM","BEWERTUNGDURCH","STATUS","TYP","ARTIKELNUMMER","BEGRUENDUNG" FROM "LAGER_JOURNAL" WHERE NUMMER=0 AND ZEILE=0\ 0"
SDWORD -3
Lager32 1328-1254 ENTER SQLExecute
HSTMT 0x00BF7AA0
Lager32 1328-1254 EXIT SQLExecute with return code -1 (SQL_ERROR)
HSTMT 0x00BF7AA0
DIAG [HY000] [Devart][ODBC][Oracle]Key fields not found (5374021)
Lager32 1328-1254 ENTER SQLErrorW
HENV 0x00BF76D8
HDBC 0x00BF7758
HSTMT 0x00BF7AA0
WCHAR * 0x0079EC00
SDWORD * 0x0079ECCC
WCHAR * 0x0079E800
SWORD 511
SWORD * 0x0079EF0C
Lager32 1328-1254 EXIT SQLErrorW with return code 0 (SQL_SUCCESS)
HENV 0x00BF76D8
HDBC 0x00BF7758
HSTMT 0x00BF7AA0
WCHAR * 0x0079EC00 [ 5] "HY000"
SDWORD * 0x0079ECCC (-858993460)
WCHAR * 0x0079E800 [ 42] "[Devart][ODBC][Oracle]Key fields not found"
SWORD 511
SWORD * 0x0079EF0C (42)
Lager32 1328-1254 ENTER SQLErrorW
HENV 0x00BF76D8
HDBC 0x00BF7758
HSTMT 0x00BF7AA0
WCHAR * 0x0079EC00
SDWORD * 0x0079ECCC
WCHAR * 0x0079E800
SWORD 511
SWORD * 0x0079EF0C
Lager32 1328-1254 EXIT SQLErrorW with return code 100 (SQL_NO_DATA_FOUND)
HENV 0x00BF76D8
HDBC 0x00BF7758
HSTMT 0x00BF7AA0
WCHAR * 0x0079EC00
SDWORD * 0x0079ECCC
WCHAR * 0x0079E800
SWORD 511
SWORD * 0x0079EF0C
Lager32 1328-1254 ENTER SQLFreeStmt
HSTMT 0x00BF7AA0
UWORD 1 <SQL_DROP>
Lager32 1328-1254 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x00BF7AA0
UWORD 1 <SQL_DROP>
There is a issue with a SQL Statement, the SQL statement is OK, Returns 0 records.
I have checked our App with the Oracle ODBC Driver and this works fine.
The App is MFC based ( CRecordSet Classes).
Peter.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Mon 15 Jun 2015 10:35
by AlexP
Thank you for the log, we have reproduced the described case, and will fix it as soon as possible. Currently, to solve the issue, you should add a key field to the table.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Tue 29 Dec 2015 19:50
by dale.shetler
Has a fix for this been released? I am evaluating these drivers for purchase. I have over a hundred tables and do not want to set up key fields for all just to test the drivers. I am using version 1.02.03.00 dtd November 6, 2015.
Re: ORACLE ODBC Driver on Windows 8.1
Posted: Mon 25 Jan 2016 12:15
by AlexP
We have already fixed this problem. The new version with this fix is already available for download at our website