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()