How To Fix The Access Runtime Error 3847: “ODBCDirect Is No Longer Supported” In Windows 7/8/10 PC?


This complete blog is dedicated to resolve one of the very common Access runtime error -“3847 ODBCDirect is no longer supported”. So, if you are frequently encountering this issue then check out the following fixes mentioned in this post.

Practical scenario:


I have received this project to fix error 3847 “ODBCDirect is no longer supported.  Rewrite the code to use ADO instead of DAO”.  It’s on Access 2013 and back end is Informix DB. Not sure where to start….

 Dim wsODBC As Workspace

    Dim cnAccis As Connection
    Dim rsProgram As Recordset
    Dim strSQL As String

    Set wsODBC = DBEngine.CreateWorkspace(“NewODBC”, “rptacd”, “rpt11”, dbUseODBC) <—- this part crashes 

    Set cnAccis = wsODBC.OpenConnection(“AccisConnection”, _
      dbDriverNoPrompt, , “odbc;database=acd;;;dsn=AccisLookup”)

    strSQL = “Select * from program where Program_Number matches ‘” & txtPrNum & “‘”

    Set rsProgram = cnAccis.OpenRecordset(strSQL, dbOpenDynaset)

Now it’s time to step down towards the information regarding ODBCDirect is no longer supported error Code 3847. Rewrite the code to use ADO instead of DAO.

Error details:ODBCDirect is no longer supported “

To understand the complete issue, you need to first understand about the error. So, here is the complete detail of the error 3847.

Error name: ODBCDirect is no longer supported
Error number: Error 3847
Description: ODBCDirect is no longer supported. Rewrite the code to use ADO instead of DAO.
Software: Microsoft Access

About the terms used in the error:

  • Ado

ADO (Microsoft ActiveX Data Objects) is a COM based package used for accessing database like SQL Server or data sources like Excel spreadsheets.

  • Dao

Data Access Object DAO, is a design pattern in object – oriented software design. Creating an object that gives an abstract interface to some type of database or persistence mechanism.

  • Rewrite –

This indicates URL rewriting or the restructuring of URL to improve readability or search engine optimization SEO.

  • Rewrite –

URL rewrite engine is software that modifies a web URL’s appearance URL rewriting.

 Screenshot of the error:

Runtime Error 3847

About Access Runtime Error 3847

Access runtime error 3847 encounters when Microsoft Access fails or crashes at the time of its running. This doesn’t mean that the code was corrupted in any way but it may create troubles at run-time. This error shows notification on your screen unless handled or corrected completely.

Symptoms of Access runtime error 3847 – ODBCDirect is no longer supported

Access runtime error 3847 occurs without warnings. This error message comes up to the screen anytime while MS access is running. Well the error message or other dialog box will start showing if not fixed in the starting stages.

You may also notice sudden deletion of files or sometimes new appearance of file. As, this symptom is largely due to virus infection. Sometime this error may also causes sudden drop in internet connection speed.

 You may also like:

Fix [Microsoft][ODBC Microsoft Access Driver] Cannot Update. Database Or Object Is Read-Only Error

How To Fix MS Access Run-time 3146 ODBC Call Failed Error?

Causes of Access “ODBCDirect is no longer supported” Error 3847

Meanwhile the software design, programmers code anticipating the occurrence of errors. However, there are no perfect designs, as error can be expected even with the best program design. Glitches arise during the runtime if some error is not experienced and addressed during design and testing.

Runtime error caused by incompatible programs running at the same time. This might also occur due to memory issue either due to bad graphics driver or virus infection. So, it gets necessary to avoid further problems. Here are the following fixes to resolve this error.

How To Fix The Access “ODBCDirect Is No Longer Supported” Error

Though the Runtime errors 3847 may be annoying and persistent, but it is not that impossible to repair it. Here is the way how it is to be done.

Method 1 – Close Conflicting Programs

Close Conflicting Programs

Basically the runtime error usually occurs due to the program confliction. The very first thing you can do to resolve this problem is by stopping these conflicting programs.

  • Click Ctrl-Alt-Del altogether to open task manager. This will help you to see the list of programs currently executing.
  • Now go to the programs tab and stop the program one by one by highlighting each one of them. After then tap to the End Process option.
  • You need to check if the error message reoccurs each time you stop a process.
  • After identifying which program is causing the error, you may step forward to the next troubleshooting step, reinstalling the application.

Method 2 – Update / Reinstall Conflicting Programs

Reinstall Conflicting Programs

For This Just Take Help Of Control Panel

  • For windows 7, tap to the start button and then hit the control panel and uninstall a program.
  • For windows 8 user, hit the start button and then scroll down and click more settings and then click control panel> uninstall a program option.
  • In windows 10 PC, go to the search box and type here control panel. After then click the result and then uninstall the program.
  • After reaching to the programs and feature option in your respective PC, click the problem program and tap to update or uninstall.
  • If you click to update option, then you just need to follow the prompt to complete the process. But if you choose to uninstall, you will follow the prompt to uninstall and then re-download or use the application installation disk to reinstall the program.

Also read:

Resolve Access 1919 – configuring ODBC data source Error

6 Microsoft JET Database Engine Error ‘80004005’ Along With Their Fixes…!

Method 3 – Re-install Runtime Libraries

You might be encountering this ODBCDirect is no longer supported error because of an update, like the MS Visual C++ package that might not be installed properly or completely. What you can do is to uninstall the current package and install a fresh copy.

  • Firstly you need to uninstall the package to programs and features, find and highlight the Microsoft Visual C++ Redistributable Package.
  • Tap to uninstall on top of list and when it is done reboot your PC.
  • Download the latest redistributable package from Microsoft then install it.

Method 4 – Run Disk Cleanup

You might be getting this Access 3847 runtime error because of the very low free space on PC.

  • It’s good to consider backing up files and freeing up space on hard drive.
  • Clean your cache and reboot your PC.
  • You can also run Disk CleanUp, open your explore window and make a right on your main directory.
  • Tap to the properties and after then click Disk Cleanup.

Wrap up:

If the above mentioned fixes won’t work for you then you can backup files and run repair reinstall on your PC. However, you can do that later also when the solution listed here in this post didn’t do the job.

tip Still having issues? Fix them with this Access repair tool:

This software repairs & restores all ACCDB/MDB objects including tables, reports, queries, records, forms, and indexes along with modules, macros, and other stuffs effectively.

  1. Download Stellar Repair for Access rated Great on Cnet (download starts on this page).
  2. Click Browse and Search option to locate corrupt Access database.
  3. Click Repair button to repair & preview the database objects.

Pearson Willey is a website content writer and long-form content planner. Besides this, he is also an avid reader. Thus he knows very well how to write an engaging content for readers. Writing is like a growing edge for him. He loves exploring his knowledge on MS Access & sharing tech blogs.