关闭

jdbc连接SQL server2000

516人阅读 评论(0) 收藏 举报
分类:


1.假设SQL数据库“test”下有表“PRESON”

 

 

2.连接表PERSON并打印出表的每一行:

 

Java代码  收藏代码
  1. package com.myjava;  
  2.   
  3. import java.sql.SQLException;  
  4.   
  5. public class TestJDBCSQL {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      */  
  10.     public static void main(String[] args) {  
  11.         // TODO Auto-generated method stub  
  12.         java.sql.Connection con = null;  
  13.         java.sql.Statement stmt = null;  
  14.         java.sql.ResultSet rs = null;  
  15.         String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";  
  16.         String q = "select * from PERSON";  
  17.           
  18.         try {  
  19.             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  
  20.         } catch (ClassNotFoundException e) {  
  21.             // TODO Auto-generated catch block  
  22.             e.printStackTrace();  
  23.         }  
  24.           
  25.         try{  
  26.             con = java.sql.DriverManager.getConnection(url, "sa""");  
  27.             stmt = con.createStatement();  
  28.             rs = stmt.executeQuery(q);  
  29.             while(rs.next()) {  
  30.                 String name = rs.getString(1);  
  31.                 java.sql.Date time = rs.getDate(2);  
  32.                 String content = rs.getString(3);  
  33.                 int id = rs.getInt(4);  
  34.                 System.out.println(name + "\t" + time + "\t" + content + "\t" + id);  
  35.             }  
  36.               
  37.         }catch (java.sql.SQLException sqe){  
  38.             sqe.printStackTrace();  
  39.         }  
  40.           
  41.         try {  
  42.             rs.close();  
  43.             stmt.close();  
  44.             con.close();  
  45.         } catch (SQLException e) {  
  46.             // TODO Auto-generated catch block  
  47.             e.printStackTrace();  
  48.         }  
  49.           
  50.           
  51.     }  
  52.   
  53. }  

 

 3.说明及调试:要注意15行中url的准确性,同时注意26行取得数据库连接时用的用户名以及密码是否与数据库的用户名和登录密码相匹配。

 

4.在初步测试时,由于将15行中的localhost:1433错写成localhost:1443,结果出现如下错误:

Java代码  收藏代码
  1. java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.  
  2.     at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)  
  3.     at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)  
  4.     at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)  
  5.     at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)  
  6.     at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)  
  7.     at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)  
  8.     at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)  
  9.     at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)  
  10.     at java.sql.DriverManager.getConnection(DriverManager.java:582)  
  11.     at java.sql.DriverManager.getConnection(DriverManager.java:185)  
  12.     at com.myjava.TestJDBCSQL.main(TestJDBCSQL.java:26)  
  13. Exception in thread "main" java.lang.NullPointerException  
  14.     at com.myjava.TestJDBCSQL.main(TestJDBCSQL.java:42)  

 5.使用netstat查看使用端口

Java代码  收藏代码
  1. netstat -a -n  

 6.或者直接查询端口

Java代码  收藏代码
  1. netstat -a -n |find "1443"  
 发现端口1443没有处于服务状态,而仔细查看SQL端口后,知道SQL端口应该是“1433”,果断改代码,连接成功。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:729382次
    • 积分:11746
    • 等级:
    • 排名:第1268名
    • 原创:420篇
    • 转载:267篇
    • 译文:0篇
    • 评论:36条
    文章分类
    最新评论