web-dev-qa-db-ja.com

Hibernate / JDBCを使用してDB2の現在のスキーマを設定するにはどうすればよいですか?

以前はcurrentSchema = MYSCHEMAを使用していました。私のJDBCURL接続では、使用しているDB2のバージョンはそれをサポートしなくなり、「「currentSchema」プロパティはターゲットサーバーで許可されていません」というエラーが表示されます。 hibernate.default_schemaを使用しようとしましたが、テーブル名にスキーマが自動的に追加されません。テストと本番の間でスキーマを変更する必要があるため、すべての@Tableアノテーションにスキーマを設定したくありません。接続またはHibernateを介して設定する別の方法はありますか?

更新:ドライバーバージョンの問題である必要があります。後のドライバーにアップグレードしたところ、currentSchemaが機能しました。

15
Brian Deterling

9.7(最新)データベースのすべてのプロパティはここにあります...

https://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.apdv.Java.doc/doc/r0052607.html ==

使用する:

currentSchema

動的に準備されたSQLステートメントで非修飾データベースオブジェクトを修飾するために使用されるデフォルトのスキーマ名を指定します。このプロパティーの値は、データベース・サーバー上のCURRENTSCHEMA特殊レジスターの値を設定します。スキーマ名では大文字と小文字が区別され、大文字で指定する必要があります。

6
Romain Hippeau

DB2 JDBCタイプ4ドライバー(com.ibm.db2.jcc.DB2Driver)では、このURLを使用して接続しています:

jdbc:db2://<Host>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;

ソース: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/rjvdsprp.htm

34
STB Land

uRLに含まれているドライバー 'com.ibm.as400.access.AS400JDBCDriver' ... 'currentSchema'を使用してAS400上のデータベースに接続するためのURLは何ですか、この場合は機能しません...

0
ancora imparo