1

Java プログラムを接続しようとしてMS SQL SERVER 2012いますが、Java はexception: java.lang.ClassNotFoundException.

CLASSPATHこの問題は、多くの場合、ドライバが正しく設定されていないことが原因であることを理解しています。Oracleの指示に従ってを追加しましたCLASSPATHが、それでも同じ例外が発生します。“echo %CLASSPATH%"コマンドプロンプトに入力すると、正しい応答が得られます。私は何を逃したのですか?

コード:

import java.sql.*;
public class JDBCTest {
    public static void main(String[ ] args) throws SQLException {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
        } catch(Exception e) { 
            System.out.println("Can't find database driver: " + e);
        }
    }
}
4

4 に答える 4

0

Class.forName が失敗する場合は、クラスパスの問題です。

クラスパスを確認するには、次のコードを試してください。

    String classPath = System.getProperty("java.class.path");
    String userDir = System.getProperty("user.dir");
    System.out.println("Working Directory:");
    System.out.println("\t"+userDir);
    System.out.println("Classpath:");
    String[] paths = classPath.split(";");
    for (String path : paths) {
        File pathFile = new File(path);
        String check = pathFile.exists()?"OK        ":"NOT-FOUND ";
        System.out.println("\t"+check+path);
    }
于 2012-12-03T10:04:41.153 に答える
0

まずはダウンロードsqljdbc4.jarからhere

これ.jarをあなたの/WEB-INF/libフォルダに入れてください。(このファイルがEclipseのライブラリから表示されるかどうかを確認してから、プロジェクトを更新してください)ここに画像の説明を入力

そして、あなたのプロジェクトを実行します。

于 2012-12-03T10:06:00.233 に答える
0

アプリケーションのランタイム環境に、適切な jar ファイルが含まれていない可能性があります。チェックしたパスは、コンソール環境専用です。アプリケーションのクラスパスはこれとは異なります。

于 2012-12-03T09:34:47.837 に答える
0

これを試して

 public class connectURL {

        public static void main(String[] args) {

            // Create a variable for the connection string.
String  Connectionurl="jdbc:sqlserver://localhost:1433;DatabaseName=YourDBName;user=UserName;Password=YourPassword"

            // Declare the JDBC objects.
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;

                try {
                    // Establish the connection.
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                        con = DriverManager.getConnection(connectionUrl);


                        String SQL = "";
                        stmt = con.createStatement();
                        rs = stmt.executeQuery(SQL);


                        while (rs.next()) {
                            ....
                        }
                }


            catch (Exception e) {
                e.printStackTrace();
            }

            finally {
                if (rs != null) try { rs.close(); } catch(Exception e) {}
                    if (stmt != null) try { stmt.close(); } catch(Exception e) {}
                    if (con != null) try { con.close(); } catch(Exception e) {}
            }
        }
    }

ドライバーのjarファイルをダウンロードして、適切な場所に置いてください。

于 2012-12-03T09:38:26.717 に答える