SQL Server連接失敗錯誤及解決第5/5頁
更新時間:2007年01月08日 00:00:00 作者:
2、使用用于 ODBC 的 OLE DB 提供者(不使用 ODBC 數(shù)據(jù)源):
使用 SQL Server 身份驗證:
Code:
oConn.Open "Driver={SQL Server};" & _
"Server=MyServerName;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword"
"Server=MyServerName;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword"
使用 Windows 身份驗證(信任連接):
Code:
oConn.Open "Driver={SQL Server};" & _
"Server=MyServerName;" & _
"Database=myDatabaseName;" & _
"Trusted_Connection=yes"
"Server=MyServerName;" & _
"Database=myDatabaseName;" & _
"Trusted_Connection=yes"
3、使用用于 ODBC 的 OLE DB 提供者(使用 ODBC 數(shù)據(jù)源):
Code:
oConn.Open "DSN=mySystemDSN;" & _
"Uid=myUsername;" & _
"Pwd=myPassword"
"Uid=myUsername;" & _
"Pwd=myPassword"
如果遇到連接失敗的情況,我們只要按照一中所示的方法,結(jié)合程序中的連接字符串進行檢查,基本都能得到解決。另外,還有以下幾個要注意的地方:
1、配置 ODBC 數(shù)據(jù)源時,點擊"客戶端"配置選項可以讓我們指定連接使用的網(wǎng)絡(luò)庫、端口號等屬性,如下圖所示:

2、如果遇到連接超時的錯誤,我們可以在程序中修改 Connection 對象的超時設(shè)置,再打開該連接。例如:
Code:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn. Properties("Connect Timeout") = 15 '以秒為單位
Conn.open DSNtest
%>
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn. Properties("Connect Timeout") = 15 '以秒為單位
Conn.open DSNtest
%>
3、如果遇到查詢超時的錯誤,我們可以在程序中修改 Recordset 對象的超時設(shè)置,再打開結(jié)果集。例如:
Code:
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
. . .
cmd1 = txtQuery.Text
Set rs = New ADODB.Recordset
rs.Properties("Command Time Out") = 300
'同樣以秒為單位,如果設(shè)置為 0 表示無限制
rs.Open cmd1, cn
rs.MoveFirst
. . .
Dim rs As ADODB.Recordset
. . .
cmd1 = txtQuery.Text
Set rs = New ADODB.Recordset
rs.Properties("Command Time Out") = 300
'同樣以秒為單位,如果設(shè)置為 0 表示無限制
rs.Open cmd1, cn
rs.MoveFirst
. . .
三、小結(jié)
本文針對大部分用戶在使用 SQL Server 過程中常見的連接失敗的錯誤,重點討論了在使用 SQL Server 客戶端工具以及用戶開發(fā)的應(yīng)用程序兩種情況下,如何診斷并解決連接失敗的錯誤??催^本文以后,相信每一個讀者都會對 SQL Server 的連接工作原理、身份驗證方式以及應(yīng)用程序開發(fā)等有一個較為全面而深入的連接。本文中所有的測試或者示例均在 Windows 2000 Advanced Server + SQL Server 2000 企業(yè)版上通過。