how to do jdbc connection with sqlserver2000?
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:
开发者_如何学CC:\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:
- Create a folder that is NOT anywhere near where you installed your JDK; call it c:/projects/JDBC
- 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.
- 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. 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
精彩评论