接続のトラブルシューティング
Microsoft SQL Server 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 2000 の SQL Server ネットワーク ユーティリティ、または SQL Server 2005 および SQL Server 2008 の SQL Server 構成マネージャを使用してインストールされていない。
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 2008 の SQL Server 構成マネージャを使用して、SQL Server がポート 1433 で TCP/IP を使用するように構成されていることを確認します。サーバーで使用されるポートがファイアウォールで開かれていない。これには、サーバーが使用するポート、またはオプションで、サーバーの名前付きインスタンスに関連付けられたポートが含まれます。
指定されたデータベース名が間違っている。実際に存在する SQL Server データベースにログオンしていることを確認します。
ユーザー名またはパスワードが間違っている。値が正しいことを確認します。
SQL Server 認証を使用する場合、JDBC ドライバでは、SQL Server が既定ではない SQL Server 認証でインストールされている必要があります。SQL Server のインスタンスをインストールまたは構成するときに、このオプションが選択されていることを確認します。