4

これは私の最初のJavaアプリケーションであり、JavaNetBeansの経験はまったくありません。

私はSQLに接続して2日間いくつかのレコードを取得しようとしています。問題はjdbcドライバーに関するものです。説明させてください。sqljdbcドライバーをダウンロードし、次の手順に従いました。

[プロジェクト] を右クリック -> [プロパティの選択] -> 左側で [ライブラリ] -> [コンパイル] タブの下で [Jar/フォルダーの追加] ボタンをクリックし、sqljdbc4.jarファイルを選択します。それなら大丈夫ですよね?

次に、このコードを書きましたが、この例外を取り除くことはできません:

  Exception in thread "main" java.lang.ClassNotFoundException: 
  com.microsoft.sqlserver.jdbc.SqlServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:30)

これがコードです

public static void main(String[] args) throws ClassNotFoundException, SQLException {
    String url = "jdbc:sqlserver://.\\SQLEXPRESS;databaseName=Northwind; Integrated Security = SSPI ";

    Connection con = null;
    Statement stmt = null;

    ResultSet rs = null;
    try {
        Class.forName("com.microsoft.sqlserver.jdbc.SqlServerDriver");

        con = DriverManager.getConnection(url);
        String sql = "Select Top 3 from * person.Contact";
        stmt = con.createStatement();
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

3 に答える 3

10

このページによると、クラスは呼び出されますが、呼び出さSQLServerDriverれませんSqlServerDriver。ケース大事!

だから、試してみてください:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

新しいバージョンの JDBC では、ドライバー クラスを明示的にロードする必要がないことに注意してくださいClass.forName(...)。私がリンクしたページでは、それを行う必要はないと明示的に説明しています。したがって、行全体を削除するだけで機能します。

于 2013-08-24T16:40:14.360 に答える
1

Java: NetBeans での MSSQL との JDBC 接続

手順

  1. https://www.microsoft.com/en-in/download/details.aspx?id=11774から JDBC をダウンロードします 。
  2. sqljdbc__enu.exe を実行します。この zip ファイルを %Program Files (x86)% の既定のディレクトリで展開します: Microsoft JDBC DRIVER for SQL Server
  3. NetBeans で新しいプロジェクトを作成します
  4. プロジェクトを右クリック - [プロパティ] を選択 - 左パネルから [ライブラリ] を選択 - [JAR/フォルダの追加] ボタンをクリック - JAR ファイルを選択して開く - [OK]
  5. Sql Server 構成マネージャーを開きます - Sql Server ネットワーク構成で SQLEXPRESS のプロトコルを選択します - TCP/IP を右クリックします - プロパティを選択します - 有効をはいに変更します - IP アドレスをクリックします - IPAll に移動します - TCP 動的ポートを 49169 に、TCP ポートを 1433 に変更します -適用 - OK - コンピュータを再起動します
  6. ファイル名を指定して実行を開き、Services.msc と入力します - SQL Server Browser を起動します
  7. プロジェクトに移動し、データベース接続用のコードを記述します。

ローカル データベース接続のコード:

String url = "jdbc:sqlserver://YOUR PC NAME;instanceName=SQLEXPRESS;DatabaseName=dbname;integratedSecurity=true";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection myCon = DriverManager.getConnection(url);

Statement myStmt = myCon.createStatement();
ResultSet myRs = myStmt.executeQuery("select * from table name");
于 2016-03-25T11:09:09.890 に答える
0

この問題に関する最新情報があります。

  1. このリンクに移動し、互換性のある JDBC ドライバーを見つけます (6.0 バージョンをダウンロードしました)。
  2. ダウンロードしたファイルで適切な jar を見つけます (私は jre7\sqljdbc41.jar を使用しました)。
  3. Intellij IdeaCtrl+Shift+Alt+Sの場合は、プロジェクト構造を押して開き、依存関係セクションに jar ファイルを追加します。

それがあなたにとってもうまくいくことを願っています。

于 2020-06-19T20:17:36.793 に答える