这是代码
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();
}
}
我已经安装了“c:\ program files \ microsoft sql server 2000 driver for JDBC”
编译为:
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
运行为:
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
我得到以下输出:
Error: Could not find or load main class Connect
我无法找出导致此错误的原因?怎么解决这个?
答案 0 :(得分:1)
默认情况下,当前目录不是CLASSPATH的一部分。您必须确保Connect.class的路径是CLASSPATH的一部分。添加“。;”到你的CLASSPATH开始,然后再试一次。
从基础开始:
javac -d classes Connect.java
来编译Connect.java。如果你没有在c:/ projects / JDBC / classes文件夹中获得Connect.class文件,那你就错了。键入java -classpath .;classes Connect
运行程序。你应该在shell中看到这个输出:你可以运行一个主程序。现在开始担心JDBC。“在命令shell中。如果你可以使用它,那么就开始添加JDBC代码。
public class Connect {
public static void main(String [] args) {
System.out.println("You can run a main program. Now start worrying about JDBC.");
}
}
答案 1 :(得分:0)
假设您的Connect.class位于当前目录中 - 您应该运行:
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
这会将当前目录添加到类路径中,并允许Java查找Connect
类
答案 2 :(得分:0)
使用winzip解压缩mssqlserver.jar并仅在DB connect java文件中导入下面提到的文件。
import com.microsoft.sqlserver.jdbc.*;
import microsoft.sql.*;
现在,只需通过调用
运行java程序java MainclassName