64位服务器无法使用access,数据库连接字符串修改

来源:互联网 发布:js获取被选中的option 编辑:程序博客网 时间:2024/05/01 20:20

  <add name="AccessConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TEST\YSILib.mdb" providerName="System.Data.OleDb" />

修改为如下即可: 

  <add name="AccessConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\NSTF\YSLib.mdb" providerName="System.Data.OleDb" />

 64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。

Microsoft网站有如下说明:(见:http:
//msdn2.microsoft.com/zh-cn/library/ms141766.aspx)

用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用。
也就是说,如下两种连接字符串都已经无法正常工作了:
“Provider
=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db)

"
driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db) 
因此,我们不得不修改IIS运行环境为32位

另,SQL数据连接则可以在64位机上运行,链接字符串为:
"PROVIDER=SQLOLEDB;DATA SOURCE="&SqlLocalName&";UID="&SqlUsername&";PWD="&SqlPassword&";DATABASE="&SqlDatabaseName

 

将IIS修改为32位的方法如下:
ASP.NET 2.032 位版本
要运行 
32 位版本的 ASP.NET 2.0,请按照以下步骤操作: 
1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 
2. 键入以下命令启用 32 位模式:
cscript 
%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 
3. 键入以下命令,安装 ASP.NET 2.032 位)版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.4060732 位)的状态设置为允许。 

ASP.NET 
2.064 位版本
要运行 
64 位版本的 ASP.NET 2.0,请按照以下步骤操作: 
1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 
2. 键入以下命令禁用 32 位模式:
cscript 
%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 
3. 键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许。 
注意:ASP.NET 
2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607

 

原创粉丝点击