質問編集履歴

7

環境変数とコードの変更

2022/11/19 15:23

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -19,37 +19,32 @@
19
19
  OpenJDK Runtime Environment (build 18.0.2.1+1-1)
20
20
  OpenJDK 64-Bit Server VM (build 18.0.2.1+1-1, mixed mode, sharing)
21
21
 
22
- 環境変数は下記のように設定してあります。パスは現状理解が浅いため設定不足がないように2ついれています。
23
- CLASSPATH : C:\jar\sqljdbc_11.2\jpn\mssql-jdbc-11.2.0.jre18.jar
24
-
25
22
  ```SQLDatabaseConnection
26
23
  import java.sql.Connection;
27
24
  import java.sql.DriverManager;
28
- import java.sql.PreparedStatement;
29
25
  import java.sql.ResultSet;
30
26
  import java.sql.Statement;
31
27
 
32
- public class SQLDatabaseConnection
28
+ public class SQLDatabaseConnection {
33
- {
34
29
 
35
30
  public static void main(String[] args) {
36
- String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=WideWorldImporters;integratedSecurity=true;" ;
31
+ String connectionUrl = "jdbc:sqlserver://localhost;databaseNmae=WideWorldImporters;user=sa;password=Password123;encrypt=true;trustServerCertificate=true;";
37
- String insertSql = "UPDATE Application.Cities SET CityName = 'java' WHERE CityName = 'java'";
38
-
39
32
  ResultSet resultSet = null;
40
33
 
41
34
  try (
42
- Connection connection = DriverManager.getConnection(connectionUrl);
35
+ Connection connection = DriverManager.getConnection(connectionUrl);
43
- PreparedStatement prepsInsertProduct = connection.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);
36
+ Statement stmt = connection.createStatement();
44
- ) {
37
+ )
38
+ {
39
+ String insertSQL = "UPDATE WideWorldImporters.Application.Cities SET CityName = 'java' WHERE CityName = 'test';";
40
+ String checkSQL = "SELECT TOP 10 * FROM WideWorldImporters.Application.Cities";
41
+ stmt.executeUpdate(insertSQL);
42
+ resultSet = stmt.executeQuery(checkSQL);
45
43
 
46
- prepsInsertProduct.execute();
47
- resultSet = prepsInsertProduct.getGeneratedKeys();
48
-
49
- while (resultSet.next()) {
44
+ while (resultSet.next()) {
50
- System.out.println("Generated: " + resultSet.getString(1));
45
+ System.out.println(resultSet.getString("CityName"));
46
+ }
51
47
  }
52
- }
53
48
  catch (Exception e) {
54
49
  e.printStackTrace();
55
50
  }

6

javaのバージョンを18に変更したため少し記載が変わりました。

2022/11/16 14:12

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -15,13 +15,12 @@
15
15
  追記:
16
16
  Javaのバージョン情報
17
17
   >>java -version 
18
- openjdk version "11.0.2" 2019-01-15
18
+ openjdk version "18.0.2.1" 2022-08-18
19
- OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
19
+ OpenJDK Runtime Environment (build 18.0.2.1+1-1)
20
- OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
20
+ OpenJDK 64-Bit Server VM (build 18.0.2.1+1-1, mixed mode, sharing)
21
21
 
22
22
  環境変数は下記のように設定してあります。パスは現状理解が浅いため設定不足がないように2ついれています。
23
- CLASSPATH : C:\jar\sqljdbc_11.2\jpn\mssql-jdbc-11.2.0.jre11.jar
23
+ CLASSPATH : C:\jar\sqljdbc_11.2\jpn\mssql-jdbc-11.2.0.jre18.jar
24
- PATH : C:\jar\classpath
25
24
 
26
25
  ```SQLDatabaseConnection
27
26
  import java.sql.Connection;
@@ -59,12 +58,15 @@
59
58
  ```
60
59
  ```settings.json
61
60
  {
61
+ "java.jdt.ls.java.home": "C:\\Users\\yasue\\scoop\\apps\\openjdk18\\current",
62
62
  "java.project.sourcePaths": ["src"],
63
63
  "java.project.outputPath": "bin",
64
- "java.project.referencedLibraries": [
64
+ "java.project.referencedLibraries": {
65
+ "include": [
65
- "lib/**/*.jar",
66
+ "lib/**/*.jar",
66
- "c:\\jar\\sqljdbc_11.2\\jpn\\mssql-jdbc-11.2.0.jre11.jar"
67
+ "c:\\jar\\sqljdbc_11.2.0.0_jpn\\sqljdbc_11.2\\jpn\\mssql-jdbc-11.2.0.jre18.jar"
67
- ]
68
+ ]
69
+ }
68
70
  }
69
71
  ```
70
72
  ```launch.json
@@ -90,13 +92,7 @@
90
92
 
91
93
  「デバッグなしで実行」を押したときにコンソールに表示されるコマンドとエラーです。
92
94
 
93
- > PS C:\work\SQLDatabaseConnection> & 'C:\Users\user\scoop\apps\openjdk11\11.0.2-9\bin\java.exe' '@C:\Users\user\AppData\Local\Temp\cp_erinlb55zkeasif6qoxgvq7o8.argfile' 'SQLDatabaseConnection'
94
- > エラー: メイン・クラスSQLDatabaseConnectionを検出およびロードできませんでした
95
- > 原因: java.lang.ClassNotFoundException: SQLDatabaseConnection
96
-
97
- またCLASSPATHを削除してから再度実行したときのコマンドとエラーです。
98
- > PS C:\work\SQLDatabaseConnection> c:; cd 'c:\work\SQLDatabaseConnection'; & 'C:\Users\user\scoop\apps\openjdk11\11.0.2-9\bin\java.exe' '@C:\Users\user\AppData\Local\Temp\cp_erinlb55zkeasif6qoxgvq7o8.argfile' 'SQLDatabaseConnection'
99
- > エラー: メイン・クラスSQLDatabaseConnectionを検出およびロードできませんでした
100
- > 原因: java.lang.ClassNotFoundException: SQLDatabaseConnection
101
-
95
+ > PS C:\work\SQLDatabaseConnection> & 'C:\Users\user\scoop\apps\openjdk18\current\bin\java.exe' '-XX:+ShowCodeDetailsInExceptionMessages' '@C:\Users\user\AppData\Local\Temp\cp_3rmdcs7y0uwbacgs3k0ag3apr.argfile' 'SQLDatabaseConnection'
96
+ エラー: メイン・クラスSQLDatabaseConnectionを検出およびロードできませんでした
97
+ 原因: java.lang.ClassNotFoundException: SQLDatabaseConnection
102
98
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-14/24757b4d-861b-4f45-bcef-786b816474f9.png)

5

launch.jsonと実行したときのコンソールの結果を追記しました。

2022/11/15 14:43

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -67,4 +67,36 @@
67
67
  ]
68
68
  }
69
69
  ```
70
+ ```launch.json
71
+ {
72
+ "version": "0.2.0",
73
+ "configurations": [
74
+ {
75
+ "type": "java",
76
+ "name": "Launch Current File",
77
+ "request": "launch",
78
+ "mainClass": "${file}"
79
+ },
80
+ {
81
+ "type": "java",
82
+ "name": "Launch SQLDatabaseConnection",
83
+ "request": "launch",
84
+ "mainClass": "SQLDatabaseConnection",
85
+ "projectName": "SQLDatabaseConnection_3a354dfc"
86
+ }
87
+ ]
88
+ }
89
+ ```
90
+
91
+ 「デバッグなしで実行」を押したときにコンソールに表示されるコマンドとエラーです。
92
+
93
+ > PS C:\work\SQLDatabaseConnection> & 'C:\Users\user\scoop\apps\openjdk11\11.0.2-9\bin\java.exe' '@C:\Users\user\AppData\Local\Temp\cp_erinlb55zkeasif6qoxgvq7o8.argfile' 'SQLDatabaseConnection'
94
+ > エラー: メイン・クラスSQLDatabaseConnectionを検出およびロードできませんでした
95
+ > 原因: java.lang.ClassNotFoundException: SQLDatabaseConnection
96
+
97
+ またCLASSPATHを削除してから再度実行したときのコマンドとエラーです。
98
+ > PS C:\work\SQLDatabaseConnection> c:; cd 'c:\work\SQLDatabaseConnection'; & 'C:\Users\user\scoop\apps\openjdk11\11.0.2-9\bin\java.exe' '@C:\Users\user\AppData\Local\Temp\cp_erinlb55zkeasif6qoxgvq7o8.argfile' 'SQLDatabaseConnection'
99
+ > エラー: メイン・クラスSQLDatabaseConnectionを検出およびロードできませんでした
100
+ > 原因: java.lang.ClassNotFoundException: SQLDatabaseConnection
101
+
70
102
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-14/24757b4d-861b-4f45-bcef-786b816474f9.png)

4

体裁修正。

2022/11/13 15:33

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -13,7 +13,8 @@
13
13
  お知恵をお貸しください。
14
14
 
15
15
  追記:
16
+ Javaのバージョン情報
16
- >>java -versionの結果は下です。
17
+  >>java -version 
17
18
  openjdk version "11.0.2" 2019-01-15
18
19
  OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
19
20
  OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

3

Javaのバージョンと環境変数の設定を追加

2022/11/13 15:31

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,17 @@
11
11
 
12
12
  JDBCを追加しただけでエラー内容が変わる理由も理解できませんしどこに問題があるのかも分からない状況です。
13
13
  お知恵をお貸しください。
14
+
15
+ 追記:
16
+ >>java -versionの結果は下です。
17
+ openjdk version "11.0.2" 2019-01-15
18
+ OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
19
+ OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
20
+
21
+ 環境変数は下記のように設定してあります。パスは現状理解が浅いため設定不足がないように2ついれています。
22
+ CLASSPATH : C:\jar\sqljdbc_11.2\jpn\mssql-jdbc-11.2.0.jre11.jar
23
+ PATH : C:\jar\classpath
24
+
14
25
  ```SQLDatabaseConnection
15
26
  import java.sql.Connection;
16
27
  import java.sql.DriverManager;

2

画像を追加しました。

2022/11/13 15:17

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,4 @@
55
55
  ]
56
56
  }
57
57
  ```
58
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-14/24757b4d-861b-4f45-bcef-786b816474f9.png)

1

JDBCのバージョンが間違っていたので修正した

2022/11/12 11:04

投稿

Tomo0225
Tomo0225

スコア67

test CHANGED
File without changes
test CHANGED
@@ -51,7 +51,7 @@
51
51
  "java.project.outputPath": "bin",
52
52
  "java.project.referencedLibraries": [
53
53
  "lib/**/*.jar",
54
- "c:\\jar\\sqljdbc_11.2\\jpn\\mssql-jdbc-11.2.0.jre18.jar"
54
+ "c:\\jar\\sqljdbc_11.2\\jpn\\mssql-jdbc-11.2.0.jre11.jar"
55
55
  ]
56
56
  }
57
57
  ```