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

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

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

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

Java

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

Q&A

解決済

3回答

9271閲覧

sqlserver(DB)に接続できない

rikaruto

総合スコア16

SQL Server

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

Java

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

0グッド

0クリップ

投稿2019/01/09 12:34

java

1import java.sql.*; 2 3 4public class MSSqlTest1{ 5 public static void main(String [] args)throws ClassNotFoundException{ 6 try{ 7 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 8 String dburl = "jdbc:sqlserver://localhost:1433;databaseName=KINMU;" 9 + "integratedSecurity=false;user=※※;password=※※"; 10 11 String sql = "SELECT * FROM M_SHAIN"; 12 13 Connection conn = DriverManager.getConnection(dburl); 14 conn.createStatement().executeUpdate(sql); 15 conn.close(); 16 }catch(SQLException e){ 17 18 } 19 20 } 21}

コードをコンパイルし、実行すると下記のエラーがでます。
Exception in thread "main" java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at MSSqlTest1.main(MSSqlTest1.java:7)

javaのアプリをeclipseを使わずに作っているのですが、DBに接続できません。
jdbcドライバーはPCにあります。
javaが見つけることができてないのでしょうか?

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

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

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

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

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

guest

回答3

0

ベストアンサー

jdbcドライバーはPCにあります。

どのようなドライバ・外部ライブラリ・プラグインでも同じですがプロジェクトへのビルドパスの設定が必要です。

ちょうどSQL Serverのドライバを取り込む記事があったのでリンク置いておきます。

投稿2019/01/09 12:47

m.ts10806

総合スコア80765

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

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

rikaruto

2019/01/09 12:59

eclipseを使わないときのビルドパスの設定はどうしたらよいでしょうか?
m.ts10806

2019/01/09 13:01

パスを通さないと使えないのは同じです。 調べても何も出てきませんでしたか?
rikaruto

2019/01/09 14:24

PATHを通すことがあまり理解しきれていないのでもう少し調べます。 ご協力感謝します。
guest

0

mts10806さん、a512607330さんご協力ありがとうございました。
エラーが出る原因はJDBCドライバーの場所をjava側に教えていなかったことです。
それでdb接続のコードを書いても「ドライバーが見つかりませんでした」というエラーが出ていました。
下記に解決方法を書きます。

1、jdbcのjarファイルをjavaフォルダ→libフォルダ内に置く

2、システム環境変数の設定で以下のようにする(libフォルダのjarファイルを指定する)
変数名:CLASSPATH
変数値:C:\Program Files\Java\jdk1.8.0_91\lib\sqljdbc42.jar

3、dbの接続をするファイルを作成する(Db.java)

4、3で作成したdb接続のjavaファイルをコンパイルする

5、java -classpath .;./sqljdbc42.jar Db
で実行する
*注意db接続のjavaファイル名はDbではなくて好きな名前で結構です

これで実行はできると思います。

実行はできるけどdbから結果が返ってこないとかUpdateを実行したのにdb内の値が変わっていないときは、接続するときのID,パスワードが合っていないのかと思われます。

私の場合はそれでもダメだったので新しいログイン情報を作成しました。(´;ω;`)

SQLserverでログイン情報の新規作成↓
DBのセキュリティ→ログインを右クリ
新しいログインでsqlserver認証で作成

投稿2019/01/13 03:20

編集2019/01/13 03:22
rikaruto

総合スコア16

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

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

0

これは jdbc sqlserverDriver.jar not fount
イメージ説明

投稿2019/01/10 03:20

a512607330

総合スコア24

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問