SQL2000数据库放在SQL2005后的ASP连接语句(Provider的值要变为:SQLNCLI.1)
问题起因:原来是SQL2000数据库,后来移到 SQL2005 后出错
SQL SERVER2005的数据源类型和2000的是不一样的,需要在连接字符串里要更改一下Provider的值
如下:
Provider=SQLNCLI.1;
其它的没有需要改的地方。
以下为一个完整的连接字符串示例
Provider=SQLNCLI.1;Password=pass;Persist Security Info=True;User ID=sa;Initial Catalog=dbname;Data Source=local
附上 asp与sql2000,sql2005,access数据库连接字串:
1、与sql2000连接字串:
Set Conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=SqlOLEDB;Data Source=服务器IP(本地为local);initial catalog=数据库名;user ID=用户名;password=密码;"
Conn.Open connstr
2、与sql2005连接字串:
Set Conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=SQLNCLI.1;Data Source=服务器IP(本地为local);initial catalog=数据库名;user ID=用户名;password=密码;"
Conn.Open connstr
3、与access连接字串:
Set Conn = Server.CreateObject("ADODB.Connection")
db="数据库路径"
connstr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath(""&db&"")
Conn.Open connstr
4.一个在用的连接SQL2005的实例
Const SqlDatabaseName = "mdb" ' 数据库名字'
Const SqlPassword = "pass" '数据库密码'
Const SqlUsername = "user" '数据库帐户'
Const SqlLocalName = "local" '数据库地址'
'数据库连接
Sub ConnectionDatabase
Dim ConnStr
ConnStr = "Provider = SQLNCLI.1; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"
On Error Resume Next '屏蔽出错显示路径(安全考虑)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串!"
Response.End
End If
End Sub
'打开数据库连接
call ConnectionDatabase()