質問
私はこの問題をDB2.うに設置され、db2としてdb2adminとパスワードになります。私が接続するようにデータベースでの成功を全走りながら他の単純なクエリを選択しない以下のようなエラー:-
DB2、SQLエラー:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=DB2ADMIN.ログインし、ドライバー=3.57.82
いデータベース名onp、テーブル"という"ログイン"あるいは"ログインがテーブルと呼ばれるログイン"を二つの分野のユーザー名とパスワードを発行いたします。
クエリーと私は走行
- 選択*からログイン;だったらエラー
DB2、SQLエラー:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=DB2ADMIN.ログインし、ドライバー=3.57.82
- Select*fromます。ログイン;だったらエラー:-(//システムはスキーマ名)
DB2、SQLエラー:SQLCODE=-551,SQLSTATE=42501,SQLERRMC=DB2ADMIN選択システム.ログインし、ドライバー=3.57.82
しかしすべてのリソースの期間がとられかつ尽くされた。力を貸してください
解決
私はDB2について多くのことを知っているが、エラーコードを見ていない...
それは、ログインテーブルを見つけることができませんでしたので、あなたは、スキーマを指定しなかったので、最初のエラーがある。
DB2 に定義されていないSQLCODE -204オブジェクト
DB2が明らかにスキーマ名を指定する必要がありますか、それはあなたのログインユーザと同じ名前のスキーマに見えます。
あなたはSET SCHEMA
を使用するか、完全にテーブル名を修飾する必要があります。
2番目のエラーは、次のとおりです。
SQLCODE -551、エラー:DOESしていません OPERATION ONを実行する権限 OBJECT
Iにdb2adminユーザーはこの表から選択することができない理由はわからないんだけど...
リソース:
DB2のSQLCODEする
他のヒント
SQL CODE 551が発生します。
コントロールセンターに移動 - ユーザグループに移動し、オブジェクトやDB2ADMINを選択します(このユーザーがDB2に接続する一つの使用であると仮定)。
次の
のように、すべてのチェックボックスをオンにしますユーザーに
グラントスキーマのアクセス
グラントテーブルは、ユーザーにアクセス
あなたはまた、問題を解決することができます
ちょうどあなたがDB2への接続であることにより、ユーザーに適切な権限を与えます。
私は同じ問題を抱えていたし、私は私のエンティティにスキーマを追加することで、それを解決します:
@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}