日期:2014-05-16  浏览次数:20510 次

JDBC连接Sql server

1、采用微软提供的ms sql server jdbc driver

?

jdbc.driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc.url=jdbc:microsoft:sqlserver://192.168.1.3:1433;DatabaseName=test
jdbc.username=sa
jdbc.password=

?

如何开始使用 Microsoft JDBC:http://support.microsoft.com/kb/313100/zh-cn

?

2、采用第三方jTDS驱动

?

jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://192.168.1.3:1433/test
jdbc.username=sa
jdbc.password=

?

需要jtds-0.6.jar

?

3、调试过程中遇到的问题

?

(1)ResultSet can not re-read row data for column 1.

?

(1.1) 如果采用jdbc-odbc驱动,那么就必须按照查询顺序来一次读取(不论有没有image或text类型)

(1.2)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,不存在image或text类型字段,那么可以按照无序获取

(1.3)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,存在image或text类型字段,那么就必须按照顺序读取,否则就会报告Driver]ResultSet can not re-read row data for column之类的错误

(1.4)如果想不查询语句中有没有image或text类型字段,都可以不按照顺序获取,或重复获取。

?

(2)[Microsoft][SQLServer 2000 Driver for JDBC]Unsupported data conversion.

?

解决:采用jtds驱动连接sqlserver

?

(3)无法远程访问数据库

--telnet 192.168.1.3 1433 无法连接

?

windows xp 下安装SqlServer 2000,默认的1433端口不会进行监听,用netstat -an|grep 1433会没有结果,解决办法是
(3.1).到微软下载SqlServer Sp4,安装
?? http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5
?? http://msdn.microsoft.com/zh-cn/library/bb418503.aspx (JDBC for SqlServer)
(3.2).由于1433端口没有监听,会在使用MyEclipse Database Explorer连接不上SqlServer;远程连接SqlServer时候失败等问题

?

注:下载SP4包后解压版,解压完毕如图



?需要执行setup.bat文件

?