目標:私の目標は、PostgreSQL内でSQLコードを記述してPostgresqlデータベースにクエリを実行することです。 Eclipse内でクエリを記述したいのは、RまたはPythonコードを記述して、データに対して統計分析を実行するためです。
ソフトウェアの詳細:
方法:Eclipse内で開始するには、「ファイル」、「新規」、「その他」を選択します。 「接続プロファイル」の下で、「接続プロファイル」を展開して選択します。新しい接続プロファイルダイアログウィザードが表示され、プロファイルタイプのリストからPostgreSQLを選択します。 PostgreSQL922という名前を付けて、[次へ]ボタンをクリックします。
「新しいJDBC接続プロファイル」ダイアログが表示されます。 [ドライバー]プルダウンメニューで、以前に作成した「PostgreSQL922」を選択します。次に、[新しいドライバー定義]のアイコンをクリックします。
「新しいドライバー定義」ダイアログには3つのタブがあります。最初のタブ「名前/タイプ」の下にはオプションが1つだけあり、それはPostgreSQL JDBCドライバーです。ただし、このオプションのシステムバージョンが8.xであると混乱します。そのオプションが事前設定されている理由はわかりません。 「Jar List」タブの下で、「Remove Jar/Zip」ボタンをクリックして、「Postgresql-8.1-404.jdbc2.jar」ドライバファイルを削除します。次に、「Jarの追加」ボタンをクリックして、新しいドライバー「Postgresql-9.1-901.jdbc4.jar」に移動します。このjarファイルを選択すると、ダイアログボックスの[OK]ボタンがグレー表示されなくなりました。しかし、それは今ではクリック可能です。 [プロパティ]タブの下には、5つの異なる値があります。
次に[OK]ボタンをクリックして、すべての値を受け入れます。これで「新しいJDBC接続プロファイル」に戻ります。ここで[テスト接続]ボタンをクリックすると、「Pingが失敗しました!」というエラーメッセージボックスがポップアップ表示されます。 「詳細」ボタンの下にメッセージが表示されます:
org.postgresql.util.PSQLException: FATAL: database "database" does not exist
at
org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.Java:471)
at
org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.Java:112)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.Java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.Java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.Java:30)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.Java:22)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.Java:32)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.Java:24)
at org.postgresql.Driver.makeConnection(Driver.Java:393)
at org.postgresql.Driver.connect(Driver.Java:267)
at
org.Eclipse.datatools.enablement.internal.postgresql.PostgreSQLJDBCConnection.createConnection(Post
greSQLJDBCConnection.Java:87)
at
org.Eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBa
se.Java:105)
at
org.Eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.Java:54)
at
org.Eclipse.datatools.enablement.internal.postgresql.PostgreSQLJDBCConnection.<init>(PostgreSQLJDBC
Connection.Java:47)
at
org.Eclipse.datatools.enablement.internal.postgresql.PostgreSQLConnectionFactory.createConnection(P
ostgreSQLConnectionFactory.Java:51)
at
org.Eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFa
ctoryProvider.Java:83)
at
org.Eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.ja
va:359)
at org.Eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.Java:76)
at org.Eclipse.datatools.connectivity.ui.PingJob.run(PingJob.Java:59)
at org.Eclipse.core.internal.jobs.Worker.run(Worker.Java:53)
これと同じ方法を使用してSQL Server 2005データベースに接続し、それに対するクエリを作成することができました。以前はこれを正しく行いましたが、PostgreSQLでは失敗します。どうすれば修正できますか?間違ったバージョンのPostgreSQLを使用していますか? Eclipse JunoはPostgresql 9.2.2と連動しませんか?
(初期)データベース名はJDBC URLから取得されました: "jdbc:postgresql:// localhost:5432/database"
そのURLから「データベース」サフィックスを削除してみてください
Swasheckとaraqnidに感謝します。それが答えです。
私はEclipseに戻り、古い接続を削除しました。次に、「新しいJDBC接続プロファイル」を使用して新しいプロファイルを作成しました。 Generaプロパティタブで、次の値を選択しました。
Database: Postgres
URL: jdbc:postgresql://localhost:5432/postgres*
User Name: postgres
Password: ***************
*注意:ここでは、swasheckが言及したように、これは一般的な用語のデータベースでした。以前は「データベース」であった場所で「postgres」を交換しました。
次に「接続のテスト」ボタンをクリックすると、問題なく接続されました。鋭敏な観察をありがとうございました。