ORACLE ODBC Driver on Windows 8.1

ORACLE ODBC Driver on Windows 8.1

Postby pjan » Sat 06 Jun 2015 16:06

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.
pjan
 
Posts: 3
Joined: Sat 06 Jun 2015 15:54

Re: ORACLE ODBC Driver on Windows 8.1

Postby AlexP » Tue 09 Jun 2015 11:32

Hello,

We can't reproduce the problem, please send us your application and tracing log file.
AlexP
Devart Team
 
Posts: 5528
Joined: Tue 10 Aug 2010 11:35

Re: ORACLE ODBC Driver on Windows 8.1

Postby pjan » Fri 12 Jun 2015 11:03

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.
pjan
 
Posts: 3
Joined: Sat 06 Jun 2015 15:54

Re: ORACLE ODBC Driver on Windows 8.1

Postby AlexP » Fri 12 Jun 2015 13:16

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
AlexP
Devart Team
 
Posts: 5528
Joined: Tue 10 Aug 2010 11:35

Re: ORACLE ODBC Driver on Windows 8.1

Postby pjan » Fri 12 Jun 2015 17:25

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.
pjan
 
Posts: 3
Joined: Sat 06 Jun 2015 15:54

Re: ORACLE ODBC Driver on Windows 8.1

Postby AlexP » Mon 15 Jun 2015 10:35

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.
AlexP
Devart Team
 
Posts: 5528
Joined: Tue 10 Aug 2010 11:35

Re: ORACLE ODBC Driver on Windows 8.1

Postby dale.shetler » Tue 29 Dec 2015 19:50

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.
dale.shetler
 
Posts: 1
Joined: Tue 29 Dec 2015 19:46

Re: ORACLE ODBC Driver on Windows 8.1

Postby AlexP » Mon 25 Jan 2016 12:15

We have already fixed this problem. The new version with this fix is already available for download at our website
AlexP
Devart Team
 
Posts: 5528
Joined: Tue 10 Aug 2010 11:35


Return to ODBC Drivers