21

WindowsでEclipseを実行しています。

このチュートリアルに従って、JDBC4をダウンロードし、[プロジェクト]>[プロパティ]>[外部JARの追加]を使用してビルドパスに追加し、ファイルを参照すると、機能しました(.classpathファイルには正しいlibパスが表示されます)。

パッケージは参照ライブラリフォルダーに表示されるので、チュートリアルを続行します。

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;

    ....

    public void open ()
        {
    try {
        Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    try {
        conn = DriverManager.getConnection(url, username, password);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

それはそれと同じくらい簡単だと思いますが、私はこの大きな長いスタックトレースで始まります

    java.lang.ClassNotFoundException: org.postgresql.Driver

(必要に応じてさらに提供できます)

私は試しinclude org.postgresql.*;ましたが、それも役に立ちませんでした。JDBC3も試しましたが、運が悪かったです。

AndroidでDriverJDBCPostgreSQLを調べたところ、HTTP+JSONを使用したほうがよいという漠然とした答えが得られました。私が使ったことがないもの。

私はAndroid、postgresql、Web開発にまったく慣れていないので、簡単な答えをいただければ幸いです。

4

8 に答える 8

19

search.maven.orgに記載されているように、プロジェクトに PostgreSQL JDBC ドライバーを追加する必要があります。

グラドル

implementation 'org.postgresql:postgresql:42.2.10'

メイヴン

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>42.2.10</version>
</dependency>

JARをダウンロードしてプロジェクトに手動でインポートすることもできます。

注: この回答で使用されているコンパイルは非推奨です。3に従って実装に置き換えます。

于 2016-06-08T20:43:30.323 に答える
4

jar パッケージを lib フォルダー (WebContent-WEB-INF-lib) に配置し、jar パッケージを右クリックしてビルド パスを追加し、パスをビルドする必要があります。

于 2014-03-17T09:44:46.883 に答える
0

JDBC JAR ファイルをダウンロードして、使用しているツールのビルド パスに追加することは、私の場合は上記の解決策のいずれもうまくいかなかったため、一時的な解決策である可能性があります。

于 2015-03-14T14:32:29.673 に答える
0

これは CLASSPATH の問題です。クラスローダーがロードしようとしたときに、PostgreSQL JDBC ドライバーを使用できません。CLASSPATH に正しく追加する必要があります。

Eclipse で動作する場合は、ビルド パスに JAR を追加すると、それが CLASSPATH に追加されるためです。Eclipse トレーニング ホイールを使用せずに CLASSPATH がどのように機能するかを理解する必要があります。

于 2012-06-05T19:23:31.413 に答える
0

私はgradelのために何百万ものことを試しましたが、この行をbuild.gradelファイルに追加するだけで済みました。

dependencies {
    compile group: 'org.postgresql', name: 'postgresql', version: '42.2.1'
}
于 2020-07-14T19:14:00.707 に答える
-2

依存関係が正しく構成されていると仮定すると (コメントで指摘されているlibsように、Android SDK バージョン 17 以降のディレクトリを参照してください)、ドライバー マネージャーに明示的に登録することで、9.2 ドライバーを動作させることができるはずです。

それ以外の:

Class.forName("org.postgresql.Driver");

使用する:

DriverManager.register(new org.postgresql.Driver());

(9.3-1100-jdbc41 jar でも試しましたが、うまくいきません。)

Craig Ringer が重複した質問への回答で説明しているように、JDBC 接続は Android デバイスで一般的に使用されるネットワーク使用パターンにはあまり適していないため、Android から JDBC を使用することはほとんど良い考えではないことに注意してください。

于 2014-02-16T15:03:13.513 に答える