1

私はアプリケーションをMySQLからDB2に移行するために取り組んできましたが、現在、デプロイメント時にcurrentSchemaで問題が発生しています。

クエリ:

SELECT count(*) FROM SomeTable WHERE BooleanColumn=1

オブジェクトが存在しないことを意味するエラー(SQLCODE = -204)が表示されます。

代わりに、次のようなクエリを発行する場合:

SELECT count(*) FROM SCHEMA.SomeTable  WHERE BooleanColumn=1

すべてが期待どおりに機能します。

これをデフォルトでどこかのスキーマに設定できるはずです。この時点で、GlassfishのJDBC接続プールに焦点を合わせました。通常、「jdbc:db2:// SERVER_NAME:PORT / DATABASE:currentSchema =SCHEMA_NAME;」のようなJDBCURLを作成できるようで、currentSchemaが私のニーズに対応しますが、方法がわかりません。 Glassfishの管理コントロールでこれを行います。私は明らかにGlassfishについて多くを知りません-それは私が間違った場所を探している可能性が非常に高いです。

「追加のプロパティ」の部分を次のように構成しました。

ブラ。私は写真を埋め込むには新しすぎると思います...このリンクはこれです:

http://i.stack.imgur.com/IqUQd.jpg

この設定を取得するための助けは素晴らしいでしょう...私はすべてのテーブル参照を探し出し、スキーマ名を前に付ける必要はありません。

4

1 に答える 1

0

同じ接続で次のステートメントを発行できます。

SET SCHEMA = my_schema;

デフォルトでは、DB2 はユーザー名をスキーマとして使用します。

于 2012-12-13T05:54:26.520 に答える