jdbc连接SQL server2000


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”,果断改代码,连接成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值