asp+access在64位上的问题

简介:

今天帮人解决一个老的asp的网站,弄了半天。

原来的机器上没问题,换一台机器后一直有问题,原来的代码中也没有什么日志处理,也没什么报错,这些东西在编码时还是很有必要的。

asp很长时间没弄,都快忘了,只能一步步的加调试信息,最后在连接的后面加了一个调试才找到真正的错误原因: 

复制代码
conn.open connstr
  If   Err   
<>     0    Then   
  Response.Write   
" 11111<br><br><b> "     &    Err.Description    &     " </b> "    
  End   If
end 
if
复制代码

提示错误:未指定提供程序,也没有指派的默认提供程序

百度了半天,终于发现是64位系统的问题,因为新的机器装的是64位的机器

复制代码
这是由于你的系统是64位的,而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.0 32  位版本
要运行 
32  位版本的 ASP.NET  2.0 ,请按照以下步骤操作: 
1 . 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 
2 . 键入以下命令启用  32  位模式:
cscript 
% SYSTEMDRIVE % \inetpub\adminscripts\adsutil.vbs SET W3SVC / AppPools / Enable32bitAppOnWin64  1  
3 . 键入以下命令,安装 ASP.NET  2.0 32  位)版本并在 IIS 根目录下安装脚本映射:
% SYSTEMROOT % \Microsoft.NET\Framework\v2. 0.50727 \aspnet_regiis.exe  -
4 . 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本  2.0 . 40607 32  位)的状态设置为允许。 

ASP.NET 
2.0 64  位版本
要运行 
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
复制代码
   本文转自永春博客园博客,原文链接: http://www.cnblogs.com/firstyi/archive/2009/02/19/1393796.html ,如需转载请自行联系原作者
相关文章
|
开发框架 .NET 数据库连接
win2016下asp无法连接access的解决方案
win2016下asp无法连接access的解决方案
469 0
win2016下asp无法连接access的解决方案
|
.NET 数据库连接 数据库
asp开发记录(1)——[Microsoft][ODBC Microsoft Access Driver]行中有错误
 今天做东西的时候发现的此处错误,最后虽然解决了,但是自己还是要记录一下,方便以后查询!使用rs.Update()的时候,发现如下错误:[Microsoft][ODBC Microsoft Access Driver]行中有错误1、开始怀疑参数的问题,在进行数据更新的时候发生参数不符合数据库内的类型或其他的要求。
744 0
|
.NET 数据库 开发框架
|
SQL 数据库 数据安全/隐私保护
ASP连接access 数据库的增删改查 - imsoft.cnblogs
假设数据库文件名叫data.mdb里面有2个表:1.admin2.news假设admin是保存用户名和密码,里面有字段:UserName,PassWord.假设我们要在判断一个用户名叫name,密码是pass的人是否合法,也就是数据库里面是否有这个记录,那么要进行以下几步:1.
1181 0
|
Web App开发 .NET Windows
32位asp.net应用程序在64位Windows上运行时的问题一例
  之前在32位Windows 2008下编译的asp.net应用程序部署到64位的Windows下,部署上去以后,首页还可以运行,但是该应用程序还用了oledb去访问access数据库. 结果出现了如下错误信息: Server Error in '/' Application.
916 0
|
.NET 开发框架 数据库
64位IIS(IIS6/IIS7)上跑Asp + Jet.Oledb的设置要点
由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Je...
1070 0