反饋已提交
網絡繁忙
本文介紹資料連結 SQL Server 中,常見的問題及排查步驟。
問題描述:
連結 SQL Server 時常常會遇到報錯提示:com.microsoft.sqlserver.jdbc.SQLServerException: 到主機的 TCP/IP 連結失敗。
1)首先確認在定義資料連結那邊的 URL 是否正確(保證 IP,埠以及資料庫是正確的),如下圖所示:
2)去除後面的 databaseName,測試是否成功,如果成功,則問題來源於後面的實體名,否則問題是前面的 TCP/IP 連結。
3)若檢查到是實體名的問題,需要檢查資料庫實體名是否與 URL 中的 databaseName 一致。
4)修改資料連結的資訊。資料連結的「資料連結URL」後加上ssl參數。
格式為:&sslProtocol=TLS
1)檢查資料庫是否啟動
2)檢查是否允許遠端連結伺服器
進入資料庫所在伺服器查看物件資源管理器,檢查是否允許遠端連結
3)檢查資料庫使用者狀態
資料連結中使用的使用者密碼,需要授權允許連結到資料引擎,並且登入狀態是已啟動。
4)檢查 TCP/IP 協定是否啟動
5)檢查網路配置
開啟 SQL server 配置管理器,檢查 SQL server 網路配置是否啟動 Named Pipes 和 TCP/IP 。
雙擊 TCP/IP 或右鍵-屬性查看對應的埠號是否正確。
這個主要是 SQL server 2000,其他版本一般沒有這個問題。sqlsp4 修補就是 Microsoft SQL Server 2000 Service Pack 4 ,大多數版本為簡體中文版。
sp4 包括用於以下 SQL Server 2000 組件的程式包,可在網路上尋找資源下載。
資料庫組件(下載檔案:SQL2000-KB884525-SP4-x86.EXE):更新 SQL Server 2000 的 32 位資料庫組件,包括資料庫引擎、複製、用戶端連結組件和工具。
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):對於 SQL Server 2000 的 32 位 MSDE 組件:
安裝新的 MSDE 實體;
升級現有 MSDE 實體;
更新使用合併模組的應用程式。
打 sp4 後一般會出現登入連結問題,看看SQL的服務有沒有運作,沒運作就去我的電腦>管理>服務裏面,把 MSSQLSERVER 服務登入的帳號和密碼改正確;有運作,進企業管理器,改 SQL 的登入方式為混合模式,設定sa密碼,重新設定一次。 sqlserver 2000 sp3由於有 bug,很多伺服器打不了修補,說sa連結失敗,所以直接安裝 sp4 升級修補,升級之前建議先備份資料庫。
使用 SQL Server 資料庫,SQL 語句在資料庫裏查詢異常的快,可是放到 FR 報表裏面速度相對慢了。
SQL Server 查詢速度較慢,建議先檢查 SQL 語句是否過於複雜、是否用了太多的連結查詢,優化 SQL 語句來提高存取資料的速度。
詳細點選: 優化報表取數
在存取或匯出資料量較大範本時,還要檢查網路速度,是否影響存取資料的快慢等。
排除以上因素,SQL Server 存取資料慢,那就是 SQL Server 驅動包的原因了。
報表環境下面預設有兩個 SQL Server 驅動「sqljdbc.jar」和「jtds-1.2.2.jar」。
有的時候「sqljdbc.jar」查詢速度比較慢,那麼就可以嘗試換下「jtds-1.2.2.jar」驅動。
使用「 jtds-1.2.2.jar」驅動連結資料庫時,資料庫類型選擇「others」,手動輸入「 URL 」和「驅動器」。
驅動:net.sourceforge.jtds.jdbc.Driver
URL:jdbc:jtds:sqlserver://IP:埠號/databaseName
操作詳情請參見: 資料連結JDBC
一般安裝SQL SERVER都是使用預設實體名,但是有時候有特殊情況不能使用預設實體名,或者多個實體的時候,就不一樣了。
解決方案:修改地址參數即可建立非預設實體名的連結。
預設資料連結地址為:jdbc:sqlserver://localhost:1433;databaseName=資料庫名
當非預設實體名時,修改為:jdbc:sqlserver://localhost\實體名:埠;databaseName=資料庫名
注:非預設實體名使用的埠可能為1434,請注意防火牆之類是否有攔截或者佔用
1)SQL Server資料集預覽時,資料亂碼,日期錯亂。
2)報表預覽時,從SQL Server資料庫中取出的資料亂碼。
3)透過填報向SQL Server資料庫中填入的資料亂碼。
原因分析:
SQL Server資料亂碼主要受排序規則的影響,安裝時系統預設排序規則是拉丁文的排序規則。
安裝時若沒有考慮到這一點,安裝完成後,就會造成在使用程式中出現亂碼。
解決方案:
請繞過FineReport/FineBI,直接從資料庫端用SQL取數,看看是否也會亂碼。
若亂碼,則需要修改排序規則。右鍵資料庫,點選「屬性>選項」,設定「排序規則」。如下圖所示:
資料庫編碼格式與資料連結編碼格式不一致
1)查詢SQL Server資料庫編碼格式
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage');
2)查詢結果編碼對照如下,請參照調整帆軟資料連結的編碼:936 簡體中文GBK950 繁體中文BIG5437 美國/加拿大英語932 日文949 韓文866 俄文65001 unicode UFT-8
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙