Access Error 3146 ODBC Call Failed- Top 11 Fixes You Need to Know!

The MS Access error 3146 ODBC call failed displays as a result of a faulty network connection. It occurs within the Access when setting up the associated database on an additional PC. This runtime error typically stipulates that there was a problem with an ODBC connection or an SQL query being performed. However, the most important thing is how to fix it.

Access ODBC Call Failed 3146 Error

Well, in this blog, we will delve into the intricacies of the ODBC call failed 3146 error, discovering its origins, and quick strategies to get rid of it.

Rated Excellent on Trustpilot
Free MS Access Database Repair Tool
Repair corrupt MDB and ACCDB database files and recover deleted database tables, queries, indexes and records easily. Try Now!
By clicking the button above and installing Stellar Repair for Access (14.8 MB), I acknowledge that I have read and agree to the End User License Agreement and Privacy Policy of this site.

Quick Fixes:

What is Error 3146 On ODBC Call Failed Run Time Access?

When Microsoft Access tries to enter the SQL Server 2000 database with the help of the ODBC connection, it displays an Error 3146- ODBC Call Failed. The database has been set as a source of data for the system with the driver of SQL Server. Hence, on launching the .mdb application database could be attached and results are fetched. But while populating data on the combo box, it shows this error.

On the other hand, we can say, that the SQL server cannot return any number for a statement due to performing a wrong query, it can display this error.

Can MS Access VBA ODBC Error 3146 Lead to Potential Data Loss?

No, this Access VBA runtime error does not lead to potential data loss. However, it is vital to address it promptly to prevent from data integrity or corruption issues.

But before trying any troubleshooting steps to address this perplexing warning message, it is recommended to back up your database file and its object to avoid a data loss scenario.

Major Factors for This Error

This error can cause due to various reasons, including network problems, or SQL query errors. besides there are some other reasons as well, they are as follows:

  1. Invalid Data Source Name (DSN)
  2. Due to Incorrect Connection String or Network Issues
  3. Corrupted Access DB file
  4. Database Server Downtime
  5. Permission Issues
  6. Disabled “Connection Pooling” option
  7. Inappropriate ODBC credentials
  8. Issues with SQL Syntax
  9. ODBC Driver Issues
  10. Server Configuration.

How to Resolve MS Access Error 3146 ODBC Call Failed?

Follow the below step-wise methods carefully to troubleshoot error 3146 ODBC call failed. But before that check if a backup of the file is available or not to restore, if not then try the below fixes.

Method 1- Check ODBC DSN Configuration

The very first solution that you have to try to tackle the situation is to check if ODBC Data Source Name (DSN) is properly configured. To verify this, you have to:

  • Type Control Panel in the search box & open the first result.
  • Then, go to “Windows Tools” >> “ODBC Data Sources“.

MS Access ODBC Call Failed 3146 Error

  • Now, you will see the DNS list >> click on DSN that you need to test.
  • Next, click on “Configure” option to view the configurations for the DSN.

MS Access ODBC Call Failed 3146 Error

  • After that, click on “Test Connection” button to complete the process.

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

Method 2- Remove ODBC 1.x Driver Manager

Another way to fix this issue is to remove the ODBC 1.x Driver Manager (Odbc.dll) and replace it with ODBC 2.x Driver Manager (Odbc.dll) in the primary path.

Method 3- Verify the Database Connection

Whenever the running database server faces downtime, you’ll encounter various issues, including the ODBC call failed 3146 error. In such a situation, you will have to ensure that the target SQL server is running & accessible from a device where Microsoft Access is installed.

Method 4- Check VBA Code

Occasionally, an ODBC call failed error in Access is generated if the connection string in a VBA code does not match to configuration of an external data source. However, you can easily overcome such a situation by checking and correcting the VBA code.

To do so, follow the below steps:

  • Launch MS Access database >> click on the Database Tools.
  • Next, go to the Visual Basic.

Visual Basic

  • Now, the Microsoft Visual Basic for Application editor will open.

Microsoft Visual Basic for Application

  • In the displayed editor window, ensure the connection string syntax you are using is correct. Also, check the queries & references in the VBA code.

Method 5- Check Permissions

Sometimes, it happens that the lack of necessary permissions to access the external database can lead to runtime error 3146. In that case, you have to ensure that the user account that is used by Microsoft Access has the required permissions to access the database, this includes both read & write permissions.

Method 6- Perform System Restore

By performing a system restoration process, you can troubleshoot the ODBC call failed 3146 error in Access. Follow these steps to do so:

  • Ensure to run your system as an administrator.
  • Click on Start button >> go for the All Programs, Accessories, System >> click System Restore.

All Programs

  • Then, click on “Restore my machine to a previous time” >> NEXT.
  • locate the restore point within the list of “select a restore date” >> click Next >> Next button.
  • Once restoration is completed, restart your PC.

Also Read: Access Run Time Error 3151 ODBC Connection Failed

Method 7- Ensure to Update the MS Access

Many users have reported that they have received ODBC -call failed error in Access due to running an outdated version of Access application. Therefore, ensure that your Microsoft Access is up to date. Microsoft occasionally releases updates that might include bug fixes & improvements. To know the complete steps to update Access, Visit Here.

Method 8- Turn ON ODBC Pooling Settings

In the ODBC driver, if the “Connection Pooling” feature is disabled then it can hinder database connections or cause the ODBC connection to fail. All you need to do is to open the ODBC data source as an administrator and ensure to turn ON Connection Pooling.

Here are the complete steps:

  • Go to Start >> Type Control Panel in the search bar >> Open the result.
  • Under Control Panel window, click & open Windows Tools.

Control Panel

  • Now, locate and double-click on ODBC Data Source (64-bit).

ODBC Data Source (64-bit)

  • Then, click on Connection Pooling tab >> tick mark the checkbox “Enable ODBC connection Pooling PerfMon counters for troubleshooting” >> hit OK.

Enable ODBC connection Pooling PerfMon counters for troubleshooting

Method 9- Verify the ODBC Credentials to Fix MS Access ODBC Call Failed 3146 Error

Many times, ODBC connection displays errors due to mismatched credentials. You may be receiving Access error 3146 due to incorrect ODBC credentials. So, simply modify the credentials of ODBC to overcome the problem.

Follow the below instructions carefully:

  • Launch Access database >> go to the External Data tab >> click ODBC Database.

Access error 3146 ODBC call failed

  • Under the Get External Data window, you have to click on “Link to the data source by creating a linked table.”
  • Under the next window, choose Machine Data Source >> hit New button.

Machine Data Source

  • Now, click on the SQL Server under Create New Data Source box >> click on Next >> Finish.
  • In the next displayed window, authenticate the login details >> click Next.

Method 10- Repairing the Corrupt Database

The ODBC call failed 3146 error in Microsoft Access occurs due to database corruption. In such a case, you can use Access’s Compact & Repair tool to compact and repair the database.

Here are the complete steps:

  1. Open the Access application.
  2. Go to the File >> Info.
  3. Find & click on the Compact & Repair Database option.

Fix MS Access ODBC Call Failed 3146 Error

Automated Solution: Fix Access Database Corruption

If all the above-mentioned solutions do not help to fix MS Access VBA ODBC error 3146, I would suggest opting for a third-party tool that solves any sort of MS Access-related error that has occurred due to database corruption. The best available tool for this purpose is MS Access Repair and Recovery Tool.

This software not only fixes errors but also fixes the .mdb files or .acccdb files and recovers the data from your corrupted MS Access database.  You can also restore the indexes, tables, queries, and relations very easily by using this tool.

* By clicking the Download button above and installing Stellar Repair for Access (14.8 MB), I acknowledge that I have read and agree to the End User License Agreement and Privacy Policy of this site.

Steps To Fix MS Access Error 3146

previous arrow
next arrow

Also Read: Resolve Access 1919 – Configuring ODBC Data Source Error

Related FAQs:

What Is the Full Form of ODBC in DBMS?

The Open Database Connectivity is the full form of ODBC in DBMS.

Are There Alternative Databases to MS Access?

Yes, various user-friendly alternatives to Access offer robust database management abilities. Such as MS SQL, Oracle, etc.

What Is ODBC Driver Used For?

An ODBC driver is used by Microsoft applications to access the data in Database Management Systems by using SQL as a standard for accessing data.

When Should I Seek Professional Help for Error 3146?

If none of the troubleshooting steps mentioned in this blog work for you, it is advisable to contact IT support or professional help.

Wrap Up

By following the fixes listed above, you can surely resolve MS Access error 3146: Run-time 3146 ODBC Call Failed. Do try all the solutions and let us know whether those solutions worked for you or not.

Besides, if you are facing any other issue in your access database, feel free to ask your queries on our social accounts like Twitter.


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.