用于ODBC驱动程序的OLE DB提供程序错误“80004005”
我必须将某些客户站点从旧IIS服务器移动到较新的IIS服务器,并且有些站点有麻烦,无法以正确的方式工作,其中大多数人抱怨失败所谓:用于ODBC驱动程序的OLE DB提供程序错误“80004005”
Microsoft OLE DB提供程序的ODBC驱动程序错误 '80004005'
[微软] [ODBC驱动程序管理器]数据源名称未找到和指定默认驱动程序
我。已经在互联网上阅读,这可能取决于缺少授予用户的权利;其他网站指出Temp文件夹丢失(我无法想象这是正确的)...还有其他几个“解决方案”。
在服务器上打开everone的权限(如某人所述)不适合我。对每个客户给予明确的权利也是非常痛苦的(有几个客户需要这些权利)。
您是否知道更简单的解决方案或类似的方法或替代方案?
当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位对象 - 看到上此相关的问题:Uploading picture after migration from IIS 6.0 to IIS 7.5
我在使用经典asp和IBM DB2 ODBC Driver
时遇到了类似的问题。我有两个网站配置在我的本地IIS 7.5
,Connection.Open工作正常,但默认的网站,但它不与第二个网站,根据我的知识和根据每个从* sugesions几次配置更改没有帮助我在这个案件。
对我来说有效的是启用(设为True)32bit
应用程序高级设置ASP.NET V4.0
经典应用程序池。
Application Pools-->ASP.NET V4.0 Classic-->
Advanced Settings--> under General Options double click Enable 32-bit Applications to set to True.
这个小配置可能会帮助有同样问题的人。
找不到驱动程序,因为这些驱动程序没有在系统中配置或注册,当我在本地主机上运行一个asp页面网站时,我也得到了这样的错误。同一页面在主机服务器上平稳运行。 要注册,请转到Microsoft ODBC Administrator - >系统DSN选项卡 - >单击'configure'按钮添加您的驱动程序。希望这可以帮助。
对我来说,这只是一个失踪的“;”在连接字符串的数据库名称后
可以肯定现在你已经解决了你的问题,但尽管如此,这里的知识的目的就是可以工作:
在什么@webaware说请按照下面的步骤您的新服务器上顶:
- 进入控制面板
- 管理工具
- 数据源(ODBC)
- 单击系统DSN选项卡
- 单击添加按钮
- 在客户端驱动程序中查找并选择Oracle。
- 现在,在数据源名称,描述,TNS服务名称和用户ID
注:向正确的TNS服务名和用户ID数据库管理员。您还需要用户ID来测试您的连接。
- 点击测试连接按钮
- 输入您的TNS服务名称为服务名称,用户ID作为用户名和用户的口令ID
- 单击确定按钮
你现在连接应该是成功的。
这是我的解决方案感谢您发布您的建议 – Fuzzybear