JAVA中通过JDBC访问MS SQLServer2000的常见问题(by kingfish)
看到很多初学或初用者都碰到这问题,小结一下供后来人参考。
代码:
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=dbname", "username",
"password");
}
catch (Exception e) {
e.printStackTrace();
}
---------------------------------
No suitable driver或者找不到class
通常是找不到那3个jar文件
如果是JBuidler或者其它IDE工具,通过配置将3个jar加入工程即可。
如果是命令行编译,加入classpath环境变量或者javac -classpath 3个jar
如果是WEB服务器,通常放在web-inf下的lib下。也可以放在通用目录下,如tomcat的common\lib下。
---------------------------------
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
可能的问题是
1. 数据库根本没启动。
2. 端口错误
3. 由于没有打SQLServer SP3补丁(现在已经有SP4了),导致数据库启动了,企业管理器可能也能访问,
但端口并没用在服务(缺省是1433端口)。
有个常用工具,可以很方便查看端口情况。
cmd下执行
netstat -an
查看指定的TCP端口是否在Listening。