我有一个经典的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有不同的驱动程序?什么是更新的连接字符串,以使其工作 - 我用谷歌搜索,只是找不到任何有效或有意义的东西(我在理解的边缘,说实话!)
非常感谢任何人们......
答案 0 :(得分:4)
您正在尝试为SQL Server调用ODBC驱动程序,该驱动程序传统上由MDAC提供。我可能会使用其中一个SQL Server Native Client驱动程序,而不是尝试在IIS7中对其进行故障排除,如:
"Driver={SQL Native Client};..."
或
"Provider=SQLNCLI10;..."
有些历史记录可以在MSDN找到,其他连接字符串选项和信息可以在网站connectionstrings.com找到。
答案 1 :(得分: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
%>