質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

4回答

17681閲覧

SQL Serverとの接続

sobue

総合スコア329

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2016/04/24 00:58

編集2016/04/24 12:59

java

1package jp.sbkro.sqlserver; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.SQLException; 6 7public class TestConnect { 8 public static void main(String[] args) { 9 System.out.println("Connection Start."); 10 11 try { 12 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 13 Connection connection = DriverManager.getConnection( 14 "jdbc:sqlserver://<192.168.1.31>:1433;databaseName=<CARDINFO>;", 15 "<sa>", "<sobue>"); 16 System.out.println("Connection Success."); 17 } catch (ClassNotFoundException e) { 18 e.printStackTrace(); 19 } catch (SQLException e) { 20 e.printStackTrace(); 21 } 22 23 System.out.println("Connection End."); 24 } 25}

上記のコードで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のどの部分を入力したらいいのかがわからないです。考えられるものは入力してみたのですが・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

java

1Connection connection = 2 DriverManager.getConnection( 3 "jdbc:sqlserver://192.168.1.31:1433;databaseName=CARDINFO;" 4 , "sa" 5 , "sobue");

で接続できるかと思われます。

参考URL:MSDN/SQL Server ドライバー Microsoft SQL Server 用 JDBC Driver JDBC ドライバーによる SQL Server への接続/接続 URL の構築

投稿2016/04/24 04:19

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sobue

2016/04/24 06:25 編集

Connection Start. 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) 変わらないかと思われます。 ドライバは入れてドライバに関するエラーはもともと出てたのですがなくなったのできちんと当たってると思います。
guest

0

自己解決

java

1package jp.sbkro.sqlserver; 2 3import java.sql.*; 4public class TestConnect { 5 public static void main(String[] args) { 6 System.out.println("Connection Start."); 7 8 try { 9 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 10 Connection connection = DriverManager.getConnection( 11 "jdbc:sqlserver://192.168.1.31\\SQLEXPRESS", "sa","sobue"); 12 System.out.println("Connection Success."); 13 Statement stmt = connection.createStatement(); 14 ResultSet rset = stmt.executeQuery("select DB_NAME()"); 15 while ( rset.next() ) { 16 // 列番号による指定 17 System.out.println(rset.getString(1)); 18 } 19 } catch (ClassNotFoundException e) { 20 e.printStackTrace(); 21 } catch (SQLException e) { 22 e.printStackTrace(); 23 } 24 25 System.out.println("Connection End."); 26 } 27}

で接続できました。回答いただきました皆様ありがとうございます。
バックスラッシュが肝だったので大変苦労しました。

投稿2016/04/26 13:01

sobue

総合スコア329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/04/26 13:03

解決されたようですので、解決済みにしていただけると助かります。
sobue

2016/04/27 08:43

タッチの差ですね解決済みにしました。お手数おかけしました。
guest

0

JDBC接続文字列のサーバのIPアドレスやデータベース,ユーザ名等が<>でくくられていますが,これをはずせば接続できませんか?
手元の環境では<>でくくるとエラーになり,<>でくくらなければエラーにならず接続できました。

投稿2016/04/24 02:31

2sk1530

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sobue

2016/04/24 02:37

外してみたのですが、改善しません。同じエラーです
sobue

2016/04/24 02:48

スラッシュや<>を外したら java.sql.SQLException: No suitable driver found for jdbc:sqlserver:192.168.1.31:1433;databaseName=sobue-pc¥sqlexpress; at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at jp.sbkro.sqlserver.TestConnect.main(TestConnect.java:13) になりました
guest

0

その SQL Server にどこかから接続できた実績はありますかね。
もしかしてアクセスを許可してないとか?

https://msdn.microsoft.com/ja-jp/library/cc646023(v=sql.120).aspx

投稿2016/04/24 01:41

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sobue

2016/04/24 01:58

A5Mk2にて同じMACのBootCampwindwos10では接続できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問