Consultor Eletrônico



Kbase P155755: Access violation in PGOE1023.DLL when executing a SQL query using Microsoft SQL Server Linked Server
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/11/2009
Status: Unverified

SYMPTOM(s):

Access violation in PGOE1023.DLL when executing a SQL query using Microsoft SQL Server Linked Server

Query executes and can return some records before stopping with errors

Error reported by MSS when executing the SQL query:

Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "<Linked Server Name>" reported an error. The provider reported an unexpected catastrophic failure.
Msg 7330, Level 16, State 2, Line 1 Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "<Linked Server Name>".

MSS error log indicates that the point-of-failure is in PGOE1023.DLL

Extracted from MSS ERRORLOG (trimmed):

*******************************************************************************
*
* BEGIN STACK DUMP:
* MM/DD/YY HH:MM:SS spid ##
*
*
* Exception Address = 3AB50642 Module(pgoe1023+00080642)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 00000010
* Input Buffer 298 bytes -
* select * from openquery(<database>,'<SQL query>')
*
<snip>
*
* Edi: 3B9063C4: 00000000 00000000 00000000 00000031 00000031 00000001
* Esi: 3B8B0444: 3AB88E1C 3B7F60A8 3B7F7478 00000000 00000000 00000000
* Eax: 00000001:
* Ebx: 00000000:
* Ecx: 00000000:
* Edx: 3B850048: 00000001 00000018 00000005 00000000 00DBEE60 00000000
* Eip: 3AB50642:
* Ebp: 00000000:
* SegCs: 0000001B:
* EFlags: 00010202: 0072004F 00630061 0065006C 006F005C 00610072 00320039
* Esp: 38C2F1D4: 3B8B0444 3B8D073C 3B7F60A8 00000000 3B7F0000 00000000
* SegSs: 00000023:
*
*******************************************************************************
*
-------------------------------------------------------------------------------
* Short Stack Dump
3AB50642 Module(pgoe1023+00080642)
Stack Signature for the dump is 0x3AB50642
External dump process return code 0x20000001.

Microsoft SQL Server Linked Server stops responding after receiving the error

SQL Server logging shows that the query failed with error -210012

Error -210012 resolves to:

Column <field> in table <table> has value exceeding its max length or precision.

FACT(s) (Environment):

Executing SQL queries against a Progress database using Microsoft SQL Server Linked Server functionality
Microsoft SQL Server Linked Server connects to the Progress database via ODBC
OpenEdge 10.1x
OpenEdge 10.2A
Windows
MS SQL Server

CAUSE:

Bug# OE00192964

CAUSE:

The data contained in one of the fields referenced in the query exceeds the value specified for SQL width setting of that field, causing error -210012. It would seem that the error is not returned to Microsoft SQL Server Linked Server correctly, causing the ODBC driver to crash and hangs the connection. The majority of ODBC-based utilities return the error message as expected.

FIX:

Run DBTOOL > Option #2 - SQL Width Scan w/Fix Option to resolve the SQL width issue