测试环境:java jdk1.7,sqlserver2000 个人版sp4,sqlserver2005 express版,sqlserver2008企业版。
【注意】:
(1)有两个文件sqljdbc.jar和sqljdbc4.jar。两者的区别jdk5及以下用前者,以上用后着;
(2)只能用一个文件,否则报错;
(3)一定要选对包,不同包的程序写法不一样。
选用了jdbc3.0,文件是sqljdbc4.jar:
【注意】:
(1)有两个文件sqljdbc.jar和sqljdbc4.jar。两者的区别jdk5及以下用前者,以上用后着;
(2)只能用一个文件,否则报错;
(3)一定要选对包,不同包的程序写法不一样。
例子代码:
package com.ws;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class JDBCSql2005 {
public static void main(String[] args) {
// *** sqlserver 2005
String url = "jdbc:sqlserver://localhost:3372;DatabaseName=db";
String user = "sa";
String password = "password";
Connection con;
String sql = "select * from copma";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url, user, password);
if (con != null) {
System.out.println("sucess" + con);
PreparedStatement pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("ma001:" + rs.getString("ma001")
+ "--ma002:" + rs.getString("ma002")
);
}
rs.close();
pstmt.close();
con.close();
} else {
System.out.println("fail");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
各个版本的sqlserver的端口号可以通过sqlserver各个版本的工具获得:
这是2005的端口,3372。
由于网络上,可能调用的jar包不一样,jdk的版本不一样,调用的代码很不一样,所以要一切从实际出发,清楚自己下载的jar包和自己的开发环境,不要被说的不清楚的文章误导。