Kbase P41328: SQL errors occur when trying to run a basic select query against a progress table through sql server
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  01/12/2010 |
|
Status: Unverified
SYMPTOM(s):
Can not query progress tables through sql server linked server
Getting errors when trying to query progress tables through sql server linked server
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error. The provider does not support the necessary method.
[OLE/DB provider returned message: Method is not supported by this provider.]
[OLE/DB provider returned message: [DataDirect-Technologies][ODBC PROGRESS driver]Optional feature not implemented.]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IDBSchemaRowset::GetRowset returned 0x80040e53: The provider does not support the necessary method.].
Using SQL Query Analyzer to query/access tables
Query using linked_server_name.prog_dbname.object_owner.object_name
i.e., select * from TESTME.prog91d.pub.customer
Can view all tables through SQL Server Enterprise Manager under Linked Servers folder
ODBC DSN configured with MERANT 3.60 32-BIT Progress SQL92 v9.1D Driver
Test connection from ODBC DNS works
Linked Server configured to use Microsoft OLE DB Provider for ODBC Driver
FACT(s) (Environment):
Progress 9.1D
Windows
MS SQL 2000
CAUSE:
This is expected behavior based on the query used. Currently Progress' SQL server engine (_SQLSRV2) does not support the request for a limited rowset (IDBSchemaRowset::GetRowset), in other words, a request to return some limited number of rows from a result set.
FIX:
Option #1
Consider a query or combination of queries that will accomplish the effect of limiting the result set. Ideally, it is possible to form a predicate for the query that does this.
Option #2
Use other tools that can access the Progress database tables such as SQL Explorer or WinSQL.