使用 jTDS 連接 MSSQL
在 iReport 中連接 MS SQL Server 資料庫可以使用 jTDS
而 jTDS-1.2.2 的預設屬性是支援 8.0 也就是一般稱為 2000 的 SQL Server
一般會設定 JDBC URL 如下
jdbc:jtds:sqlserver://ServerAddress/DBName;instance=
當需要連接 7.0 或是 6.5 等先前版本的 SQL Server 時就會出現下列錯誤訊息
1 2 3 4 5 6 7 | Message: java.sql.SQLException: I/O Error: Stream 0 attempting to read when no request has been sent Level: SEVERE Stack Trace: net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2307) ...之後省略 |
這時只要在 JDBC URL 中增加屬性調整 TDS
連接 SQL 7.0
jdbc:jtds:sqlserver://ServerAddress/DBName;instance=;TDS=5.0
連接 SQL 6.5
jdbc:jtds:sqlserver://ServerAddress/DBName;instance=;TDS=4.2
但基本上只有連線到 SQL 6.5 才需要指定,若是連接到 SQL 7.0 時 jTDS 會自動偵測調整。
詳細資料可以參考 jTDS 官方FAQ文件 http://jtds.sourceforge.net/faq.html
2 6 月, 2012 at 21:00
你好,我用的是 ireport 4.5
用了 jdts 1.2.2
jdbc:jtds:sqlserver://localhost/mydbname;instance=;TDS=4.2
但還是有ERROR。
Please use TDS protocol version 7.0 or higher
請問前輩有沒有什麼解決方法?先謝謝任何回覆
4 6 月, 2012 at 11:54
連線字串中的 TDS=4.2 就是指定 protocol version 使用 4.2 所以請改用 8.0 應該就可以解決.