|
1. 問題描述
帆軟報(bào)表FineReport客戶端連接SQLServer(2000、2005等),常常會(huì)出現(xiàn)如下錯(cuò)誤:com.microsoft.sqlserver.jdbc.SQLServerException: 到主機(jī)的TCP/IP 連接失敗。 該錯(cuò)誤可能由如下幾個(gè)方面導(dǎo)致:
2. URL是否正確
首先確認(rèn)在定義數(shù)據(jù)連接那邊的URL是否正確(保證IP,端口以及數(shù)據(jù)庫(kù)是正確的),如下圖:

3. sp4安裝包有沒有裝
這個(gè)主要是sqlserver2000,其他版本一般沒有這個(gè)問題。sqlsp4補(bǔ)丁就是Microsoft SQL Server 2000 Service Pack 4 ,大多數(shù)版本為簡(jiǎn)體中文版。
SP4 包括用于以下 SQL Server 2000 組件的程序包。
數(shù)據(jù)庫(kù)組件(下載文件:SQL2000-KB884525-SP4-x86.EXE):更新 SQL Server 2000 的 32 位數(shù)據(jù)庫(kù)組件,包括數(shù)據(jù)庫(kù)引擎、復(fù)制、客戶端連接組件和工具。
Analysis Services 組件(下載文件:SQL2000.AS-KB884525-SP4-x86.EXE):更新 SQL Server 2000 的 32 位 Analysis Services 組件。
SQL Server 2000 Desktop Engine (MSDE) 組件(下載文件:SQL2000.MSDE-KB884525-SP4-x86.EXE):對(duì)于 SQL Server 2000 的 32 位 MSDE 組件:
安裝新的 MSDE 實(shí)例;
升級(jí)現(xiàn)有 MSDE 實(shí)例;
更新使用合并模塊的應(yīng)用程序。
打sp4后一般會(huì)出現(xiàn)登陸連接問題,看看SQL的服務(wù)有沒有運(yùn)行,沒運(yùn)行就去我的電腦>管理>服務(wù)里面,把MSSQLSERVER服務(wù)登錄的用戶名和密碼改正確;有運(yùn)行,進(jìn)企業(yè)管理器,改SQL的登錄方式為混合模式,設(shè)置sa密碼,重新設(shè)置一次。 sqlserver 2000 sp3由于有bug,很多服務(wù)器打不了補(bǔ)丁,說(shuō)sa連接失敗,所以直接安裝sp4升級(jí)補(bǔ)丁,升級(jí)之前建議先備份數(shù)據(jù)庫(kù)。
4. 數(shù)據(jù)庫(kù)端的TCP/IP有沒有啟動(dòng)
SQLServer2005默認(rèn)情況下是已禁用TCP/IP連接,若連接SQLServer數(shù)據(jù)庫(kù)出現(xiàn)TCP/IP連接失敗,請(qǐng)確認(rèn)數(shù)據(jù)庫(kù)服務(wù)器的TCP/IP是否已啟用。
SQLServer2000數(shù)據(jù)庫(kù)啟用方法:可以到系統(tǒng)服務(wù)里手動(dòng)開啟一下,下圖所示位置的TCP/IP:

SQLServer2005數(shù)據(jù)庫(kù)啟用方法:在Microsoft SQL Server 2005\配置工具\(yùn)目錄下的SQL Server Configuration Manager界面設(shè)置,如下圖:

如果提示不監(jiān)聽1433端口,則可以右擊TCP/IP屬性,彈出對(duì)話框中修改IP2默認(rèn)TCP動(dòng)態(tài)端口,把0改成1433就可以成功訪問到1433了。

5. 服務(wù)器網(wǎng)絡(luò)實(shí)用工具中TCP/IP協(xié)議有沒有打開
如下圖所示,在SQLServer2000中有個(gè)服務(wù)器網(wǎng)絡(luò)實(shí)用工具需要如下設(shè)置,如果不打開也會(huì)報(bào)TCP/IP的錯(cuò)誤,這也是一個(gè)要注意的地方,檢錯(cuò)的時(shí)候不可遺漏。

對(duì)于SQLServer2005,可以在配置工具\(yùn)SQL Server 外圍應(yīng)用配置器,在“SQL Server 2005外圍應(yīng)用配置器”頁(yè),單擊“服務(wù)和連接的外圍應(yīng)用配置器”,然后單擊展開“數(shù)據(jù)庫(kù)引擎”,選中“遠(yuǎn)程連接”,在右邊選中“本地連接和遠(yuǎn)程連接”,再選擇要使用的協(xié)議:

6. 防火墻有沒有阻止
控制面板中的Windows防火墻阻止了連接,導(dǎo)致TCP/IP連接失敗;本地的防火墻添加一下SQLServer數(shù)據(jù)庫(kù)的端口即可:

注:以上是五種常見的解決方案,出現(xiàn)TCP/IP連接失敗的情況,可以按照這五個(gè)方法嘗試解決。
|