Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

PRB: Run-time Error Message 3024 Using SQL and DAO Against Oracle


Symptoms

If you try to run Structured Query Language (SQL) against an Oracle database through Data Access Objects (DAO), you can encounter the following error:

Run-Time Error 3024
Couldn't find file C:\Program Files\DevStudio\VB\<schema name>.mdb.
This error occurs when you try to specify a schema name in your SQL statement and you use DAO with Oracle. The <schema name> in the error message is whatever schema name you specified for the Oracle object you reference.

↑ Back to the top


Resolution

If you add the dbSQLPassThrough option to the OpenRecordset method, the sample code in the MORE INFORMATION section of this article runs without error. You can use brackets ([ ]) around the table name in the SQL string to avoid the error as well:

   sql = "SELECT * FROM [scott.emp]"
Also, you can use an advanced data access technology, such as ActiveX Data Objects (ADO) to avoid this error.

↑ Back to the top


Status

This behavior is by design.

↑ Back to the top


More Information

The error message is generated because DAO tries to find an .mdb file in the local directory that matches the schema name you specified for the
Oracle object in your SQL.

Sample Code

sql = "SELECT * FROM scott.emp"
Set wks = Workspaces(0)
Set con = wks.OpenDatabase("dseOracle", False, False, _
& "ODBC;UID=scott;PWD=tiger;")
Set rss = con.OpenRecordset(sql, dbOpenSnapshot)
This code generates the error because DAO tries to find the scott.mdb file.

↑ Back to the top


References

For information on how to acquire ADO and the new Microsoft Oracle ODBC driver, please see the following article in the Microsoft Knowledge Base:

175018 HOWTO: Acquire and Install the Microsoft Oracle ODBC Driver


For information on how to use ADO with Oracle, please see the following article in the Microsoft Knowledge Base:

176936 INFO: Visual Basic 5.0 Accessing an Oracle Database Using ADO
For more information on using DAO with Visual Basic, please see:

"Hitchhiker's Guide to Visual Basic & SQL Server," William Vaughn, 784 pages, Microsoft Press, 1997

↑ Back to the top


Keywords: kberrmsg, kboracle, kbprb, kb

↑ Back to the top

Article Info
Article ID : 187297
Revision : 1
Created on : 1/7/2017
Published on : 6/22/2014
Exists online : False
Views : 444