You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中用连接密码打开Access数据库及解决打开失败问题

在VB.NET中用密码打开Access数据库的正确姿势

你的问题核心是连接字符串里的密码参数没正确配置,再加上可能对Access驱动版本的注意事项没到位,导致连接失败。下面一步步帮你解决:

先搞清楚用哪个OLEDB驱动

Access的驱动分两种,别搞混了:

  • 如果你用的是Access 2003及更早的.mdb文件,用Microsoft.Jet.OLEDB.4.0驱动
  • 要是Access 2007及以上(不管是.mdb还是.accdb),优先用Microsoft.ACE.OLEDB.12.0或者16.0版本的ACE驱动——Jet驱动已经停更了,ACE驱动兼容性更好

修正连接字符串是关键

你原来的代码里Jet OLEDB:Database Password="""";这部分是空的,根本没填入你设置的密码1234,这肯定连不上啊!

针对.mdb文件(Jet驱动)的正确连接字符串

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SecGrd\SecGrd.mdb;Jet OLEDB:Database Password=1234;"

针对.accdb文件(ACE驱动)的正确连接字符串

cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\SecGrd\SecGrd.accdb;Jet OLEDB:Database Password=1234;"

给你完整的可运行示例代码

把连接逻辑封装好,加上错误处理,避免踩坑:

Imports System.Data.OleDb

' 在你的方法里写这段代码
Dim dbConnection As New OleDbConnection()
Try
    ' 替换成你对应的驱动和路径
    dbConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SecGrd\SecGrd.mdb;Jet OLEDB:Database Password=1234;"
    dbConnection.Open()
    Console.WriteLine("数据库连接成功!")
    ' 这里写你的数据库操作逻辑,比如查询、插入等
Catch ex As OleDbException
    Console.WriteLine("数据库连接出错:" & ex.Message)
Catch ex As Exception
    Console.WriteLine("其他错误:" & ex.Message)
Finally
    ' 不管成功失败,记得关闭连接
    If dbConnection.State = ConnectionState.Open Then
        dbConnection.Close()
    End If
End Try

几个容易踩的坑要注意

  • 驱动不匹配:如果用ACE驱动,必须安装对应版本的Microsoft Access数据库引擎,而且要和你的VB.NET项目平台(32位/64位)一致——项目是32位就装32位引擎,64位同理,不然会报“找不到Provider”的错误。
  • 路径写错:检查Data Source里的文件路径,VB.NET里可以用@"C:\SecGrd\SecGrd.mdb"这种原始字符串,避免转义字符出错。
  • 密码大小写:Jet驱动的密码不区分大小写,但ACE驱动的密码是区分大小写的,所以要和你设置的密码完全一致。
  • 文件权限:如果数据库放在C盘根目录或者系统文件夹里,你的程序可能需要管理员权限才能访问,右键程序选择“以管理员身份运行”试试。

内容的提问来源于stack exchange,提问作者mohammad abufadda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:35:48