用JDBC連接Sql Server2000

現在的程序,基本上都要和數據庫打交到,以前用C#和Delphi的時候,與數據庫的連接,查詢操作都是十分簡單的,但是第一次用JAVA通過JDBC和數據庫打交到,第一次,用了一上午的時間,仙子按總算成功了,其實第一次配置就成功,只是自己用了IDE工具,而沒有做相關的設置,導致了假象,JDBC的操作不成功:

1,系統環境:

Windows2000 Pro+MS SQL2000 SP4+Tomcat 5 +JCreator3+JDBC1 SP3

2,環境變量:

JAVA_HOME:C:/Program Files/Java/jdk1.5.0_09
CLASS_PATH:%JAVA_HOME%/lib;C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar;C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msutil.jar;
path:%JAVA_HOME%/bin;

3,測試腳本

 

import java.*;
public class Connect{
     
private java.sql.Connection  con = null;
     
private final String url = "jdbc:microsoft:sqlserver://";
     
private final String serverName= "localhost";
     
private final String portNumber = "1433";
     
private final String databaseName= "pubs";
     
private final String userName = "sa";
     
private final String password = "sa";
     
// Informs the driver to use server a side-cursor, 
     
// which permits more than one active statement 
     
// on a connection.
     private final String selectMethod = "cursor"
     
     
// Constructor
     public Connect(){}
     
     
private String getConnectionUrl(){
          
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
     }

     
     
private java.sql.Connection getConnection(){
          
try{
               Class.forName(
"com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
               con 
= java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
               
if(con!=null) System.out.println("Connection Successful!");
          }
catch(Exception e){
               e.printStackTrace();
               System.out.println(
"Error Trace in getConnection() : " + e.getMessage());
         }

          
return con;
      }


     
/*
          Display the driver properties, database details 
     
*/
 

     
public void displayDbProperties(){
          java.sql.DatabaseMetaData dm 
= null;
          java.sql.ResultSet rs 
= null;
          
try{
               con
= this.getConnection();
               
if(con!=null){
                    dm 
= con.getMetaData();
                    System.out.println(
"Driver Information");
                    System.out.println(
" Driver Name: "+ dm.getDriverName());
                    System.out.println(
" Driver Version: "+ dm.getDriverVersion ());
                    System.out.println(
" Database Information ");
                    System.out.println(
" Database Name: "+ dm.getDatabaseProductName());
                    System.out.println(
" Database Version: "+ dm.getDatabaseProductVersion());
                    System.out.println(
"Avalilable Catalogs ");
                    rs 
= dm.getCatalogs();
                    
while(rs.next()){
                         System.out.println(
" catalog: "+ rs.getString(1));
                    }
 
                    rs.close();
                    rs 
= null;
                    closeConnection();
               }
else System.out.println("Error: No active Connection");
          }
catch(Exception e){
               e.printStackTrace();
          }

          dm
=null;
     }
     
     
     
private void closeConnection(){
          
try{
               
if(con!=null)
                    con.close();
               con
=null;
          }
catch(Exception e){
               e.printStackTrace();
          }

     }

     
public static void main(String[] args) throws Exception
       
{
          Connect myDbTest 
= new Connect();
          myDbTest.displayDbProperties();
       }

}

把這段代碼另存爲Connect.java,放在c盤根目錄。

這是來自微軟官方一篇對JDBC操作的文章。

http://support.microsoft.com/kb/313100/zh-cn

4,開始-運行-cmd-

調用javac,java命令,編譯Connect.java

javac Connect.java

java Connect.Class

注:javac編譯的是文件,java命令操作的class對象。

5,成功輸出的界面

Connection Successful!
Driver Information
Driver Name:SQLServer
Driver Version: 2.2.0022

Database Information
Database Name:Microsoft SQL Server
Database Version:Microsoft SQL Server  2000 - 8.00.384 (Intel X86)
May 23 2001 00:02:52
Copyright (c) 1988-2000 Microsoft Corporation
Desktop Engine on Windows NT 5.1 (Build 2600: )

Avalilable Catalogs
catalog:master
catalog:msdb
catalog:pubs
catalog:tempdb

6,在IDE中設置

我用的是JCreator3.5漢化版,在配置-選項-JDK配置文件-JDK 版本 1.5.0_11-類-添加-添加存檔

把C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib目錄下的三個jar文件添加進去,然後即可正確的輸出上述代碼。

如果您按照以上操作有其他異常情況,請訪問www.google.cn :)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章