接続のトラブルシューティング

Microsoft SQL Server 2005 JDBC Driver では、SQL Server データベースと通信を行うため、TCP/IP がインストールされて動作している必要があります。 SQL Server 構成マネージャを使用すると、インストールされているネットワーク ライブラリのプロトコルを確認できます。

データベース接続は、さまざまな原因により失敗する場合があります。 次のような原因が考えられます。

  • TCP/IP が SQL Server で有効になっていない、または指定されたサーバーやポート番号が間違っている。 指定されたサーバーとポート上の TCP/IP で SQL Server が待機していることを確認します。 このようなエラーは、次のような例外で報告されることがあります。 "ログインに失敗しました。 ホストに TCP/IP 接続できませんでした。" これは、次のいずれかの原因を示します。

    • SQL Server はインストールされているが、TCP/IP が SQL Server 用のネットワーク プロトコルとして、SQL Server SQL Server 2000 のネットワーク ユーティリティまたは SQL Server SQL Server 2005 の構成マネージャを使用してインストールされていない。

    • TCP/IP が SQL Server プロトコルとしてインストールされているが、JDBC 接続 URL で指定されたポートで待機していない。 既定ポートは 1433 ですが、製品のインストール時に SQL Server が任意のポートで待機するように構成することができます。 SQL Server がポート 1433 で待機していることを確認します。または、ポートが変更されている場合は、JDBC 接続 URL で指定するポートを、変更されたポートと一致させます。 JDBC 接続 URL の詳細については、「接続 URL の構築」を参照してください。

    • JDBC 接続 URL で指定されたコンピュータのアドレスが、SQL Server がインストールおよび起動されたサーバーを参照していない。

    • クライアントと、SQL Server を実行しているサーバーとの間の TCP/IP のネットワークが動作していない。 telnet を使用して、SQL Server への TCP/IP 接続を確認できます。 たとえば、コマンド プロンプトに「telnet 192.168.0.0 1433」と入力します。192.168.0.0 は SQL Server を実行しているコンピュータのアドレス、1433 は待機中のポートを示します。 "Telnet が接続できません" というメッセージを受信する場合、TCP/IP はそのポートで SQL Server 接続を待機していません。 SQL Server 2000 の SQL Server ネットワーク ユーティリティまたは SQL Server 2005 の SQL Server 構成マネージャを使用して、SQL Server がポート 1433 で TCP/IP を使用するように構成されていることを確認します。

    • サーバーで使用されるポートがファイアウォールで開かれていない。 これには、サーバーが使用するポート、またはオプションで、サーバーの名前付きインスタンスに関連付けられたポートが含まれます。

  • 指定されたデータベース名が間違っている。 実際に存在する SQL Server データベースにログオンしていることを確認します。

  • ユーザー名またはパスワードが間違っている。 値が正しいことを確認します。

  • SQL Server 認証を使用する場合、JDBC ドライバでは、SQL Server が既定ではない SQL Server 認証でインストールされている必要があります。 SQL Server のインスタンスをインストールまたは構成するときに、このオプションが選択されていることを確認します。

参照

その他のリソース

JDBC ドライバで発生した問題の診断
JDBC ドライバによる SQL Server への接続