java - 如何与sql server 2000进行jdbc连接?

标签 java sql-server jdbc

这是代码

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 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

我找不到这个错误的原因?怎么解决这个问题?

最佳答案

默认情况下,当前目录不是 CLASSPATH 的一部分。您必须确保 Connect.class 的路径是 CLASSPATH 的一部分。添加 ”。;”到 CLASSPATH 的开头并重试。

从基础开始:

  1. 创建一个远离 JDK 安装位置的文件夹;将其命名为 c:/projects/JDBC
  2. 在 c:/projects/JDBC 中创建名为/src 和/classes 的文件夹。在 c:/project/JDBC/src 文件夹中创建一个名为 Connect.java 的文件,并将以下源代码复制到其中。
  3. 通过在命令 shell 提示符处输入 javac -d classes Connect.java 来编译 Connect.java。如果您在 c:/projects/JDBC/classes 文件夹中没有获得 Connect.class 文件,那么您就做错了。
  4. 通过输入 java -classpath .;classes Connect 运行程序。您应该在 shell 中看到以下输出:您可以运行主程序。现在开始在命令 shell 中担心 JDBC。”。如果您可以正常工作,则开始添加 JDBC 代码。

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

关于java - 如何与sql server 2000进行jdbc连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311356/

相关文章:

java - 在 Java 中向按钮添加(内置?)图标?

java - 屏幕共享库

java - 用于文件下载或保存文件的Jsp标签?

类似于 sql 的运算符仅获取数字

java - native 库 sqljdbc_auth.dll 已在另一个类加载器中加载

mysql - 我可以获得 MySQL 的负载百分比或预计执行时间吗?

java - 将 `@PathVariable` 注入(inject)请求作用域 bean

c# - 如何在 C# 中使用 Entity Framework 从存储过程中获取输出结果?

sql-server - SQL Server 到 Oracle10g 的转换

java - java.sql.SQLException:-ORA-01000:已超出最大打开游标