Iis ODBC驱动程序的OLE DB提供程序错误“;80004005';
我必须将一些客户站点从一个非常旧的IIS服务器移动到一个更新的服务器,并且一些站点在以正确的方式工作时遇到问题。他们中的大多数人抱怨一种叫做: 用于ODBC驱动程序的Microsoft OLE DB提供程序错误“80004005” 未找到[Microsoft][ODBC驱动程序管理器]数据源名称,也未指定默认驱动程序 我在互联网上读到,这可能取决于给用户的权利缺失;其他网站声明缺少临时文件夹(我无法想象这是正确的)…还有其他几种“解决方案”: 打开服务器上每个人的权限(如某人所说)对我来说不是一个选项。同时,给每个客户明确的权利也是非常痛苦的(有几个客户需要这些权利)Iis ODBC驱动程序的OLE DB提供程序错误“;80004005';,iis,asp-classic,odbc,oledb,Iis,Asp Classic,Odbc,Oledb,我必须将一些客户站点从一个非常旧的IIS服务器移动到一个更新的服务器,并且一些站点在以正确的方式工作时遇到问题。他们中的大多数人抱怨一种叫做: 用于ODBC驱动程序的Microsoft OLE DB提供程序错误“80004005” 未找到[Microsoft][ODBC驱动程序管理器]数据源名称,也未指定默认驱动程序 我在互联网上读到,这可能取决于给用户的权利缺失;其他网站声明缺少临时文件夹(我无法想象这是正确的)…还有其他几种“解决方案”: 打开服务器上每个人的权限(如某人所说)对我来说不是一
您知道更简单的解决方案、类似的方法或替代方法吗?当调用
ADODB.connection
对象的.open()
方法时,错误几乎总是由错误的连接字符串引起的
例如,以以下代码为例:
Dim SqlUsername : SqlUsername = "YOURSQLUSERNAME"
Dim SqlPassword : SqlPassword = "YOURSQLPASSWORD"
Dim ConnectionString : ConnectionString = "DRIVER={SQL Server};SERVER=YOURSERVERNAME;DATABASE=YOURDATABASENAME;UID=" & SqlUsername & ";PWD=" & SqlPassword
Dim db
Set db = Server.CreateObject("ADODB.Connection")
db.Open ConnectionString , SqlUsername , SqlPassword
注意连接字符串如何包含驱动程序标识符,在本例中为SQL Server
在应用程序中的某个地方,您将使用连接字符串调用adodb.connection.open()
方法,您需要找到它,确定正在使用的驱动程序,并将其安装到服务器上
另一件需要记住的事情是,有些数据源驱动程序是32位的,如果您在IIS中的64位应用程序池中运行网站,您需要允许32位对象—请参阅此相关问题:您的旧服务器定义了一些(数据源名称),这就是您的应用程序连接到数据库的方式。您需要在新服务器上定义这些。查看服务器的控制面板。在使用经典asp和
IBM DB2 ODBC驱动程序时,我遇到了类似的问题。我的本地IIS 7.5
,Connection中配置了两个网站。Open在默认网站上运行良好,而在根据我的知识和stackoverflow的建议进行了几次配置更改后,第二个网站则没有。在这种情况下,Open对我没有帮助
对我来说,有效的方法是启用(设置为True)ASP.NET V4.0的32位applications高级设置
Application Pools-->ASP.NET V4.0 Classic-->
Advanced Settings--> under General Options double click Enable 32-bit Applications to set to True.
这个小配置可能会帮助一些有相同问题的人。找不到驱动程序,因为这些驱动程序没有在系统中配置或注册,我在localhost中运行asp页面网站时也遇到了这样的错误。同一页在主机服务器中运行顺利。
要注册,请单击“配置”按钮,转到Microsoft ODBC管理员->系统DSN选项卡->添加驱动程序。希望这能有所帮助。对我来说,连接字符串中数据库名称后缺少“;”现在您肯定已经解决了问题,但出于知识的目的,以下是可行的方法:
除了@webaware所说的之外,请在新服务器上执行以下步骤:
转到控制面板
管理工具
数据源(ODBC)
单击系统DSN选项卡
单击添加按钮
在客户端中查找并选择Oracle驱动程序
现在输入数据源名称、描述、TNS服务名称和用户ID
注意:向数据库管理员询问正确的TNS服务名称和用户ID。您还需要用户ID来测试连接
单击测试连接按钮
输入TNS服务名称作为服务名称,用户ID作为用户名,以及用户ID的密码
单击Ok按钮
您的连接现在应该成功了
在将控制面板Plesk 12.5更新为Plesk Onyx 17.5.3并将ODBC驱动程序更新为5.3之后,我也遇到了同样的问题
为了解决这个问题,我将连接字符串中的(5.1)更改为(5.3 Unicode驱动程序)
更改此项:
Conn.Open "DRIVER={MySQL ODBC 5.1 };SERVER=localhost; DATABASE=psa; UID=admin;PASSWORD=mypassword;Port=8306; OPTION=3"
致:
请确保将连接代码放在页面的顶部和底部。已修复我的问题,但出现此错误。这与权限无关。您可能正在定义显式引用特定版本的mysql ODBC驱动程序的数据库连接
您必须更新连接字符串。这是我的解决方案,谢谢您发布建议
Conn.Open "DRIVER={MySQL ODBC **5.3 Unicode Driver**};SERVER=localhost; DATABASE=psa; UID=admin;PASSWORD=mypassword;Port=8306; OPTION=3"