WindowsでDB2ポートを見つけたいので、助けてください。いくつかの情報:
実際には、「jdbc:db2://127.0.0.1:50000/TEST」をJavaからの接続URLとして使用してDB2に接続しようとしていますが、「Exception Java .net.ConnectException:ポート50,000でサーバー/127.0.0.1へのソケットを開くときにエラーが発生し、次のメッセージが表示されます:接続参照が使用されました:接続。ERRORCODE= -4499、SQLSTATE = 08001 "
DBは稼働していますが、ポート50000でリッスンしていませんが、servicesファイルに記載されています。したがって、db2は他のポートでリッスンしていますが、
よろしくお願いします。
まず、TCP通信がオンに設定されていることを確認し、
db2cmd -i -w
db2set DB2COMM=npipe,tcpip
db2stop
db2start
デフォルトのポートを使用していないかどうかを確認できます。
db2cmd -i -w
db2 get dbm cfg | find "SVCENAME"
このような行を取得する必要があります、
TCP/IP Service name (SVCENAME) = db2c_DB2
上記のポート番号がデフォルトのポートに設定されていない場合、私の構成がデフォルト(= 50000)であることがわかるように、ポート番号になるはずです。
DB2を起動して、コントロールセンターから(共有メモリを使用するCLIドライバーを介して)ローカルデータベースに接続できるため、次の1つ以上の問題により、TCP/IPを介して通信するJDBC接続が妨げられる可能性があります。
DB2レジストリー(DB2SETを使用)またはDBM構成のいずれかを変更するには、DB2を停止してから開始してから、変更を有効にする必要があります。
サービス名のDBMパラメータが空白の場合、TCP接続できないことを意味します。DB2をローカルで使用する場合は、同じマシン。
TCP=接続を構成するには、他の回答で説明されている手順に従う必要があります。ただし、サービス名のないインスタンスがあることは問題を示すものではありません。
このページには問題に関する議論があります: http://groups.google.com/group/comp.databases.ibm-db2/browse_thread/thread/a515365a5d04af81
JDBCはTCP接続を使用するため、データベースに接続するためにインスタンスの構成を変更する必要があります。
Javaからはできません。 dbadminまたはDB/2構成自体から調べる必要があります。あなたのアイテム(3)は実際には何も達成しませんでした。「services」ファイルは単なる表示であるか、一部のクライアントで使用するためのものです。 DB/2に何をすべきかを指示しません。それを行うのはDB/2独自の構成だけです。
まず最初に、インストールは最後にエラーを表示しました。エラーを覚えていませんが、db2を起動できませんでした。だから、ググって簡単な解決策を見つけてそれはうまくいった。 OPで確認できるように、db操作を開始して実行できます。しかし、ポート番号を見つけるためのハントはまだオンでした。さらにグーグルで検索したところ、「SVCENAME」の値が空白であることがわかりました。次に、パラメーターを更新し、servicesファイルにポート番号を入力しました。それでも助けにはならなかった。最後の手段として、DB2を再インストールするだけで、すべてが正常に機能しました。注:インストールが成功すると、構成の「SVCENAME」に値が含まれ、db2はサービス名とポートのエントリをservicesファイルに作成します。