开发者

how to do jdbc connection with sqlserver2000?

开发者 https://www.devze.com 2023-04-03 07:25 出处:网络
here is the code import java.*; public class Connect{ private java.sql.Connectioncon = null; private final String url = \"jdbc:microsoft:sqlserver://\";

here is the code

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 = "user";
     private final String password = "password";
     // 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="+selectM

ethod+";";
     }

     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("\tDriver Name: "+ dm.getDriverName());
                    System.out.println("\tDriver Version: "+ dm.getDriverVersion 

());
                    System.out.println("\nDatabase Information ");
                    System.out.println("\tDatabase Name: "+ 

dm.getDatabaseProductName());
                    System.out.println("\tDatabase Version: "+ 

dm.getDatabaseProductVersion());
                    System.out.println("Avalilable Catalogs ");
                    rs = dm.getCatalogs();
                    while(rs.next()){
                         System.out.println("\tcatalog: "+ 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();
       }
}

i have installed "c:\program files\microsoft sql server 2000 driver for JDBC"

compiled as:

开发者_如何学C
C:\Program Files\Java\jdk1.7.0\bin>javac -classpath "c:\program files\Microsoft
SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Se
rver 2000 Driver for JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 2
000 Driver for JDBC\lib\mssqlserver.jar" Connect.java

runned as:

C:\Program Files\Java\jdk1.7.0\bin>java -classpath "c:\program files\Microsoft S
QL Server 2000 Driver for JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Ser
ver 2000 Driver for JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 20
00 Driver for JDBC\lib\mssqlserver.jar" Connect

i get the following output:

Error: Could not find or load main class Connect

i could not find out the cause of this error? how to solve this?


The current directory is not part of the CLASSPATH by default. You have to make sure that the path to Connect.class is part of the CLASSPATH. Add ".;" to the start of your CLASSPATH and try again.

Start with the basics:

  1. Create a folder that is NOT anywhere near where you installed your JDK; call it c:/projects/JDBC
  2. Create folders names /src and /classes in your c:/projects/JDBC. Create a file called Connect.java in the c:/project/JDBC/src folder and copy the source code below into it.
  3. Compile Connect.java by typing javac -d classes Connect.java at the prompt in a command shell. If you don't get a Connect.class file in the c:/projects/JDBC/classes folder, you're doing it wrong.
  4. Run the program by typing java -classpath .;classes Connect. You should see this output in the shell: You can run a main program. Now start worrying about JDBC." in the command shell. If you get that to work, then start adding in JDBC code.

    public class Connect {
    
        public static void main(String [] args) {
            System.out.println("You can run a main program.  Now start worrying about JDBC.");
        }
    }
    


Assuming your Connect.class is in the current directory - you should run:

C:\Program Files\Java\jdk1.7.0\bin>java -classpath ".;c:\program files\Microsoft SQL 
Server 2000 Driver for JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Server 2000 
Driver for JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 2000 Driver for 
JDBC\lib\mssqlserver.jar" Connect

This will add the current directory to the class path and allow Java to find the Connect class


Extract mssqlserver.jar using winzip and import below mention files only in DB connect java file.

import com.microsoft.sqlserver.jdbc.*;
import microsoft.sql.*;

now ,simply run java program by calling,

java MainclassName
0

精彩评论

暂无评论...
验证码 换一张
取 消