次の方法で共有


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

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 のインスタンスをインストールまたは構成するときに、このオプションが選択されていることを確認します。

参照

その他の技術情報

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