ASP.NET WebForms连接MS Access数据库遇多类报错,求解决方法
ASP.NET WebForms连接MS Access数据库的问题排查与解决建议
原有ASP Classic正常连接代码
Set server = Server.CreateObject("ADODB.Recordset") server.ActiveConnection = "dsn=[ODBC数据源名称];"
尝试的连接方式与对应报错
方式1:仅使用DSN的OleDb连接字符串
OleDbConnection connection = new OleDbConnection(@"dsn=[ODBC数据源名称];");报错:连接字符串中未指定OLE DB提供程序。例如,应指定'Provider=SQLOLEDB;'
方式2:指定ACE驱动+DSN的连接字符串
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;dsn=[ODBC数据源名称];");报错:找不到可安装的ISAM。
方式3:直接指定数据库文件路径的连接字符串
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[mdb文件完整路径];Persist Security Info=False;");报错:Microsoft Access数据库引擎无法打开或写入文件'[mdb文件完整路径]'。该文件已被其他用户以独占方式打开,或者您需要权限来查看和写入其数据。
已执行的排查操作
- 安装了32位和64位的Microsoft Access Database Engine 2016(与ASP Classic使用的2010版本共存)
- 切换项目目标平台为x86和x64
- 为NETWORK SERVICE用户赋予数据库文件权限
针对性解决建议
针对方式1的报错
OleDbConnection必须明确指定Provider,仅用DSN不符合OleDb连接规范,直接排除该写法。
针对方式2的报错
ACE驱动的连接字符串无需搭配DSN(DSN是ODBC的配置逻辑),混合使用会引发ISAM错误,放弃该写法。
针对方式3的报错(核心问题)
- 检查文件独占状态
- 确认是否有其他程序(如Access客户端、ASP Classic应用)以独占模式打开了mdb文件。ASP Classic连接未正确关闭可能导致文件锁定,可尝试重启IIS释放连接,或用进程管理器排查占用该文件的进程。
- 深层权限检查
- 除数据库文件本身,需给NETWORK SERVICE用户赋予数据库所在文件夹的读写权限(ACE引擎需要临时文件空间)。
- 若应用池使用自定义身份而非NETWORK SERVICE,需给对应身份用户配置相同权限(可在IIS管理器的应用池“高级设置”->“进程模型”->“标识”查看当前身份)。
- 驱动与平台位数匹配
- 不要同时安装32位和64位ACE驱动,二者会冲突,保留与项目目标平台匹配的版本:
- 用32位ACE驱动时,项目设为x86,同时在IIS应用池高级设置中开启“启用32位应用程序”。
- 用64位ACE驱动时,项目设为x64,关闭应用池的32位模式。
- 不要同时安装32位和64位ACE驱动,二者会冲突,保留与项目目标平台匹配的版本:
- 优化连接字符串
- 针对.mdb文件(Access 2003及更早版本),可尝试使用32位的Jet驱动,连接字符串改为:
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[mdb文件完整路径];Persist Security Info=False;"); - 若继续使用ACE驱动,添加
Mode=ReadWrite;参数确保读写权限:OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[mdb文件完整路径];Mode=ReadWrite;Persist Security Info=False;");
- 针对.mdb文件(Access 2003及更早版本),可尝试使用32位的Jet驱动,连接字符串改为:
- 隔离应用池
- ASP Classic与ASP.NET应用共用一个应用池可能引发连接冲突,给ASP.NET应用单独配置应用池,避免资源竞争。
内容的提问来源于stack exchange,提问作者Wilhelmina Lohan
相关产品推荐
相关产品推荐

