MS Access Development
for
VB .NET developers
No error message available, result code: DB_SEC_E_AUTH_FAILED(0x80040E4D).
![]() |
No error message available, result code: DB_SEC_E_AUTH_FAILED(0x80040E4D). |
👩💻Problem
No error message available, result code: DB_SEC_E_AUTH_FAILED(0x80040E4D).
💫Diagnose
This hex code (0x80040E4D) translates to:
"Login failed. The user name or password is incorrect."
It is a security/authentication failure from the database provider, specifically when connecting to Microsoft Access (or SQL Server in some contexts), and it’s commonly thrown by the OleDbConnection.Open() method.
💽Cause
Your VB.Net project ConnectionString is invalid. There is something wrong in your code (i,.e : Provider Name, Database Path, Database Name) but not before compiling. For Example if you change the database folder at Run-time.
🔬Solution
Store your ConnectionString in Settings (Project Properties->Settings). This will also keep you safe from ConnectionString Injections.
✅ Other Common Causes & Solutions
1. Wrong Password or No Password on a Password-Protected Access DB
If your .accdb
or .mdb
file is password-protected, you must supply the password in the connection string:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourfile.accdb;Jet OLEDB:Database Password=yourpassword;"
If you omit this and try to open the DB, you’ll get the DB_SEC_E_AUTH_FAILED
error.
⚠️ For Access 2007+ (.accdb), the keyword
Jet OLEDB:Database Password
still works.
2. Supplying a Password When There Is None
If your Access file is not password-protected, but your connection string includes a Jet OLEDB:Database Password
, it will also fail with this error.
✅ Fix
Remove the password clause from your connection string.
3. Using a Workgroup Security File (.mdw)
If the Access DB is secured using a workgroup security file, your connection string must include:
"Jet OLEDB:System Database=path-to.mdw"
...along with User ID
and Password
.
Example
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourfile.mdb;Jet OLEDB:System Database=system.mdw;User ID=admin;Password=;"
4. SQL Server Scenario
If you're using SQL Server via OleDb and encounter this, check for:
Wrong username/password in the connection string.
Trying to use Windows Authentication where the account has no access.
Trying to use SQL Authentication with wrong credentials.
🔧 General Troubleshooting Tips
Try opening the Access file manually in MS Access — does it prompt for a password?
Use a connection string tester like https://www.connectionstrings.com for your exact case.
Wrap your
conn.Open()
in aTry...Catch
and inspect the exception:
Try
conn.Open()
Catch ex As OleDbException
MessageBox.Show("Error: " & ex.Message)
End Try
♥ Here are some online Visual Basic lessons and courses: