1.假设SQL数据库“test”下有表“PRESON”
2.连接表PERSON并打印出表的每一行:
- package com.myjava;
- import java.sql.SQLException;
- public class TestJDBCSQL {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- java.sql.Connection con = null;
- java.sql.Statement stmt = null;
- java.sql.ResultSet rs = null;
- String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
- String q = "select * from PERSON";
- try {
- Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try{
- con = java.sql.DriverManager.getConnection(url, "sa", "");
- stmt = con.createStatement();
- rs = stmt.executeQuery(q);
- while(rs.next()) {
- String name = rs.getString(1);
- java.sql.Date time = rs.getDate(2);
- String content = rs.getString(3);
- int id = rs.getInt(4);
- System.out.println(name + "\t" + time + "\t" + content + "\t" + id);
- }
- }catch (java.sql.SQLException sqe){
- sqe.printStackTrace();
- }
- try {
- rs.close();
- stmt.close();
- con.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
3.说明及调试:要注意15行中url的准确性,同时注意26行取得数据库连接时用的用户名以及密码是否与数据库的用户名和登录密码相匹配。
4.在初步测试时,由于将15行中的localhost:1433错写成localhost:1443,结果出现如下错误:
- java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
- at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
- at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
- at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
- at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
- at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
- at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
- at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
- at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
- at java.sql.DriverManager.getConnection(DriverManager.java:582)
- at java.sql.DriverManager.getConnection(DriverManager.java:185)
- at com.myjava.TestJDBCSQL.main(TestJDBCSQL.java:26)
- Exception in thread "main" java.lang.NullPointerException
- at com.myjava.TestJDBCSQL.main(TestJDBCSQL.java:42)
5.使用netstat查看使用端口
- netstat -a -n
6.或者直接查询端口
- netstat -a -n |find "1443"