程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 解決SQL Server 連接中最為常見的錯誤(3)

解決SQL Server 連接中最為常見的錯誤(3)

編輯:關於SqlServer


      三.提示連接超時

如果遇到第三個錯誤,一般而言表示客戶端已經找到了這台服務器,並且可以進行連接,不過是由於連接的時間大於允許的時間而導致出錯。

這種情況一般會發生在當用戶在Internet上運行企業管理器來注冊另外一台同樣在Internet上的服務器, 並且是慢速連接時,有可能會導致以上的超時錯誤.有些情況下,由於局域網的網絡問題,也會導致這樣的錯誤。

要解決這樣的錯誤,可以修改客戶端的連接超時設置. 默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒, 而查詢分析器是15秒(這也是為什麼在企業管理器裡發生錯誤的可能性比較大的原因).

具體步驟為:

企業管理器中的設置:

1.在企業管理器中,選擇菜單上的"工具",再選擇"選項"

2.在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡

3.在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如20.

查詢分析器中的設置:

工具--選項--連接--將登錄超時設置為一個較大的數字

-------------------------------------------------

四.大部分機都用Tcp/ip才能成功,有時你會發現用Named Pipes才可以?

這是由於在Windows 2000以後的操作系統中,MS為解決SQL SERVER的安全問題將TCP/IP配置為SQL Server的默認連接協議,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE 的順序。

也可以在:

[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\ClIEnt\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

此處可以看到默認的協議。

問:怎麼在程序中更改Named Pipes,Tcp/ip其sql語句怎麼寫?

答:可以在以上提到的注冊表的相對位置來修改,示例如下:

·CLIENT端:

[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\ClIEnt\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

·SERVER端:

[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved