2016-04-07 13 views
0

コードはWebsphere Application Server 7.0.0.37で実行されており、DB2データベースのいくつかに接続しています。場合によっては、例外 "com.ibm.db2.jcc.a.SqlException:" SCHEMA.TABLENAME "が定義されていない名前です。"これは、負荷が特に高い毎日発生しています。 websphereの接続設定で何かをしなければならないかどうかアドバイスしてください。以下スタックトレースである:com.ibm.db2.jcc.a.SqlException:tableNameは未定義の名前

[4/6/16 21:54:08:083 PDT] 000000f7 SystemErr R com.ibm.db2.jcc.a.SqlException: "のschema.tablename" は未定義です の名前。 [4/6/16 21:54:08:083 PDT] 000000f7 SystemErr R com.ibm.db2.jcc.a.zc.e(zc.java:1606)[4/6/16 21:54: 08:com.ibm.db2.jcc.a.zc.aで084 PDT] 000000f7 SystemErr R(zc.java:1206) [4/6/16 21:54:08:084 PDT] 000000f7 SystemErr Rで com.ibm.db2.jcc.c.eb.h(eb.java:149)[4/6/16 21:54:08:084 PDT] com.ibm.db2.jcc.cで000000f7 SystemErr R .eb.a(eb.java:43)[4/6/16 21:54:08:084 PDT] 000000f7 SystemErr R at com.ibm.db2.jcc.cra(r.java:30)[4/6/16 21:54:08:084 PDT] 000000f7 SystemErr R at com.ibm.db2.jcc.c.tb.g(tb.java:152)[4/6/16 21:54:08 :084 PDT] com.ibm.db2.jcc.a.zc.n(zc.java:1186)で000000f7 SystemErr R [4/6/16 21:54:08:084 PDT] 000000f7 Syste com.ibm.db2.jcc.a.ad.dbでMERR R(ad.java:1761) com.ibm.db2で[4/6/16 21:54:08 084 PDT] 000000f7 SystemErr R。 jcc.a.ad.d(ad.java:2203)[4/6/16 21:54:08:084 PDT] 000000f7 SystemErr R at com.ibm.db2.jcc.a.ad.W(ad。ジャワ:1276) [4/6/16 21:54:08:084 PDT] com.ibm.db2.jcc.a.ad.executeで000000f7 SystemErr R(ad.java:1260)[4/6個/ 16 21:54:08:084 PDT] 000000f7 SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecute(WSJdbcPreparedStatement.java:942) [4/6/16 21:54:08:084 PDT] 000000f7 SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.execute(WSJdbcPreparedStatement.java:618)

+0

はいこの名前のテーブルがあります。アプリケーションは、そのテーブルにselectとinsertを実行するだけです。これは、MDB –

+0

からのメッセージの処理の一部として実行されます。こんにちは、テーブル名を削除する上記のあなたのコメントを編集してください。これが私の組織のセキュリティ関連のものなのかどうかはわかりません。理解していただきありがとうございます –

+0

さて、あなたはそのようなテーブルがあると言いますが、DB2はないと言います。私たちは誰を信頼していますか? – mustaccio

答えて

0

WebSphere Application Serverの接続設定は、(接続のユーザー名に基づいて)使用されるスキーマに影響を与える可能性がありますが、一貫性があり、データベースのロード中に変化しないかどうかによって異なります。この問題が負荷の下で発生していることがわかっているが、それ以外の場合は発生していないことがわかっている場合、スレッドのバグが存在する可能性があります。

問題を明確にするために、 は、あなたが使用されることを期待スキーマと表schema.tablenameのですか?そうでない場合、予期しない部分 - スキーマ、テーブル名、またはその両方?あるいは、SCHEMA.TABLENAMEが必要な場合は、この同じスキーマ/テーブルへのクエリは、負荷がかかっていないときに機能しますか? SCHEMAスキーマがアプリケーションで明示的に指定されているか、または接続ユーザー名またはデータソース設定から暗黙的に指定されていますか?

+0

スキーマとテーブル名は正しいものです。スキーマ名は、データソース設定ではなく、アプリケーションコードで明示的に指定されます。あなたの回答を編集して、スキーマとテーブル名を "SCHEMA.TABLENAME"に変更することはできますか?自分の組織内のセキュリティ制約についてはわかりません。 –

+0

確かに、私はそれに応じて更新しました。スキーマ/テーブル名をハードコーディングするアプリケーションについて述べたことを考えれば、私はこれを説明できる唯一の方法は、あなたが何とかそのスキーマ/テーブルへのアクセス権を持たない間違ったユーザーとの接続で終わっていることです。それが発生したときにエラーをトラップして調べることができます。 connection.getMetaData()。getUserName() – njr

関連する問題