package jp.sbkro.sqlserver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TestConnect {
public static void main(String[] args) {
System.out.println("Connection Start.");
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection connection = DriverManager.getConnection(
"jdbc:sqlserver://<192.168.1.31>:1433;databaseName=<CARDINFO>;",
"<sa>", "<sobue>");
System.out.println("Connection Success.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("Connection End.");
}
}
上記のコードでSQL Serverに接続しようとすると
Connection Start.
com.microsoft.sqlserver.jdbc.SQLServerException: ホスト <192.168.1.31>、ポート 1433 への TCP/IP 接続が失敗しました。エラー: "null。接続プロパティを調べて、SQL Server のインスタンスがホスト上で実行されていて、ポートへの TCP/IP 接続が許可されており、そのポートへの TCP 接続がファイアウォールにブロックされていないことを確認してください。"。
Connection End.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at jp.sbkro.sqlserver.TestConnect.main(TestConnect.java:13)
このエラーが出ます。
パスワードやらデータベース名やらいろいろ変えたみたのですが何が原因かがわかりません。宜しくお願いします
ゲストPC環境
SQL Server2014
Windows7
ホストPC環境
MAC EICapitan
Eclipse Mars
A5Mk2で接続できるので
試してみたこと
SELECT DB_NAME()ででたDATABASE名を入れてみたけどだめでした。
SQL Serverを設定した時の名前も入れてみたけどダメでした。
IPアドレスだったりDataBasenameが違ったりする可能性があるとはおもっていますが・・・SQL Serverのどの部分を入力したらいいのかがわからないです。考えられるものは入力してみたのですが・・・
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+1
Connection connection =
DriverManager.getConnection(
"jdbc:sqlserver://192.168.1.31:1433;databaseName=CARDINFO;"
, "sa"
, "sobue");
で接続できるかと思われます。
参考URL:MSDN/SQL Server ドライバー Microsoft SQL Server 用 JDBC Driver JDBC ドライバーによる SQL Server への接続/接続 URL の構築
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
check解決した方法
0
package jp.sbkro.sqlserver;
import java.sql.*;
public class TestConnect {
public static void main(String[] args) {
System.out.println("Connection Start.");
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection connection = DriverManager.getConnection(
"jdbc:sqlserver://192.168.1.31\\SQLEXPRESS", "sa","sobue");
System.out.println("Connection Success.");
Statement stmt = connection.createStatement();
ResultSet rset = stmt.executeQuery("select DB_NAME()");
while ( rset.next() ) {
// 列番号による指定
System.out.println(rset.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("Connection End.");
}
}
で接続できました。回答いただきました皆様ありがとうございます。
バックスラッシュが肝だったので大変苦労しました。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
その SQL Server にどこかから接続できた実績はありますかね。
もしかしてアクセスを許可してないとか?
https://msdn.microsoft.com/ja-jp/library/cc646023(v=sql.120).aspx
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
JDBC接続文字列のサーバのIPアドレスやデータベース,ユーザ名等が<>でくくられていますが,これをはずせば接続できませんか?
手元の環境では<>でくくるとエラーになり,<>でくくらなければエラーにならず接続できました。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.32%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/04/24 15:21 編集
com.microsoft.sqlserver.jdbc.SQLServerException: ホスト 192.168.1.31、ポート 1433 への TCP/IP 接続が失敗しました。エラー: "Connection refused。接続プロパティを調べて、SQL Server のインスタンスがホスト上で実行されていて、ポートへの TCP/IP 接続が許可されており、そのポートへの TCP 接続がファイアウォールにブロックされていないことを確認してください。"。
Connection End.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at jp.sbkro.sqlserver.TestConnect.main(TestConnect.java:13)
変わらないかと思われます。
ドライバは入れてドライバに関するエラーはもともと出てたのですがなくなったのできちんと当たってると思います。