1

間違ったユーザー名/パスワードでDB2接続を確立する際に問題が発生しました。私のシステムや他のシステムにあるDB2データベースを使用して、多くのシステムのLAN上で実行されるアプリケーションがあります。

まず、このURLを使用して他のシステムDB2接続を作成します。

Connection con = DriverManager.getConnection("jdbc:db2://Rahulkcomputer:50000/XAN4", "rahulk", "dbirs#35");

これにより、適切な接続オブジェクトが返されます。URLを変更して、同じユーザー名/パスワードでシステムDB2接続にアクセスすると(エラー処理をチェックするために同じユーザー名/パスワードを使用することが集中的に行われます):

Connection con = DriverManager.getConnection("jdbc:db2://127.0.0.1:50000/XAN4", "rahulk", "dbirs#35");

今回は、間違ったユーザー名/パスワードを指定するSQLExceptionをスローする代わりに、再びConnectionオブジェクトを返します(私のシステムのDB2認証はRahulkcomputerのシステムとはまったく異なるため)

接続を取得した後、投稿で説明されているように、このクエリを実行して適切なユーザー名を確認します。

接続検証のための単純なDB2クエリ

SELECT CURRENT SQLID FROM SYSIBM.SYSDUMMY1

(これはどちらの場合も「rahulk」を返します)

DB2が2番目のケースで間違ったユーザー名/パスワードで接続を作成したのはなぜですか(さらに、RahulkcomputerでDB2のすべてのサービスを閉じると、2番目のケースでも接続が確立されます)。

前もって感謝します。

4

1 に答える 1

1

制限オプションを使用してデータベースを作成したか、PUBLIC から sysibm への選択権を取り消しました。あなたの接続は問題ありませんでしたが、アクセス権はありませんでした。42704 は DB2 の「え?」という言い方です。sysibm を表示する権限がないため、sysibm を認識しませんでした。

于 2012-12-16T11:40:48.153 に答える