2

我有一个经典的 asp 站点,它具有以下数据库连接:

<%
set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Driver={SQL Server};Server=123.456.789.012;Database=mydatabase;Uid=myuser;Pwd=123xyz;"
objConnection.Open
%>

该站点刚刚从运行 IIS6 的 Windows 2003 服务器移动到运行 IIS7 的 Windows 2008 服务器(均使用 MSSQL 2005 Express 数据库),现在它给出了错误消息:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
/inc/dbconnection.asp, line 4 

我假设这是因为 IIS7 有不同的驱动程序?什么是更新的连接字符串才能让它工作 - 我已经用谷歌搜索了,但没有找到任何对我有用或有意义的东西(老实说,我处于我理解的边缘!)?

非常感谢大家的指点...

4

2 回答 2

4

您正在尝试调用 SQL Server 的 ODBC 驱动程序,该驱动程序传统上由MDAC提供。与其尝试在 IIS7 中解决该问题,我可能会使用SQL Server Native Client驱动程序之一,如下所示:

"Driver={SQL Native Client};..."

或者

"Provider=SQLNCLI10;..."

一些历史可以在MSDN上找到,其他连接字符串选项和信息可以在伟大的站点connectionstrings.com上找到。

于 2012-10-20T14:42:02.457 回答
0

如果数据库与网站位于同一台服务器上,并且 MSSQL 2005 Express 数据库不是命名实例,则可以使用以下数据源:

<%
set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=mydatabase; User ID=myuser;"
objConnection.Open
%>

如果您使用默认实例名称“sqlexpress”在本地安装了 MSSQL 2005 Express,那么您需要使用以下数据源

<%
set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Provider=SQLOLEDB; Data Source=.\sqlexpress; Initial Catalog=mydatabase; User ID=myuser;"
objConnection.Open
%>
于 2012-10-22T11:17:11.997 回答