Kbase 21999: Progress Has Not Created an OLE DB Provider for ODBC
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  29/04/2002 |
|
SUMMARY:
Progress has not created an OLE DB Provider for ODBC.
Using Visual Basic to access a Progress database requires ADO (ActiveX Data Objects). The ADO in turn, uses a connection string that references a Provider. The default Provider for ADO is Microsoft's OLE DB provider for ODBC (MSDASQL.1).
EXPLANATION:
Visual Basic cannot connect via OLE DB/ODBC without ADO because of their C-style API (Application Program Interface). This connectivity method requires a Provider; that is, a component that allows an application to deliver data through OLE DB. ADO is an application-level interface to OLE DB. Microsoft currently supplies ten OLE DB Providers with ADO. Companies can and are encouraged to supply their own OLE DB Provider(s). Progress uses the default Microsoft OLE DB Provider for ODBC rather than creating their own. The default Provider, MSDASQL.1, allows ADO to access any data source that has an ODBC compliant driver.
NOTE: ODBC provides access only to relational databases, whereas, OLE DB includes all other data sources, including ODBC data sources and drivers.
SOLUTION:
The Microsoft OLE DB Provider for ODBC (MSDASQL.1) can be included or not in the connection statement. Both of these connection strings are valid:
-- "Provider=MSDASQL.1; Data Source=TestDSN; User ID=Test; Password=test;"
-- "Data Source=TestDSN; User ID=Test; Password=test;"
The second connection string implies the default OLE DB Provider for ADO (MSDASQL.1).
NOTE: Using a valid Data Source Name (DSN) allows the connection string to use that information. The ADO looks up connection information from the ODBC object.
References to Written Documentation:
"ADO: ActiveX Data Objects:" by Jason T. Roff, O'Reilly Books
http://www.microsoft.com/data/tch-vc21.htm