質問編集履歴

2

追記

2018/06/20 19:03

投稿

makoto-n
makoto-n

スコア436

test CHANGED
File without changes
test CHANGED
@@ -325,3 +325,129 @@
325
325
 
326
326
 
327
327
  環境の問題でしょうか?
328
+
329
+
330
+
331
+ 追記––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
332
+
333
+
334
+
335
+ 返答が遅くなり申し訳ありません。
336
+
337
+ ShowDBクラスを書いていませんでした。
338
+
339
+ winPCではDB_ConnectionのPASSが違うものの、
340
+
341
+ コンソールログにDB名一覧が表示されます。
342
+
343
+
344
+
345
+ ```Java
346
+
347
+ package db_test;
348
+
349
+
350
+
351
+ import java.util.ArrayList;
352
+
353
+
354
+
355
+ public class ShowDB extends DB_Connection {
356
+
357
+
358
+
359
+ private ArrayList<String> sDBName = new ArrayList<>(); // DB名格納用
360
+
361
+ private boolean bExceptionFlog = true;// 戻り値用のエラー判別のboolean変数
362
+
363
+
364
+
365
+ public boolean showDB() {
366
+
367
+
368
+
369
+ String sSQL = "show databases"; // SQL文の変数
370
+
371
+ String sDBName;// DB名格納用
372
+
373
+
374
+
375
+ this.sDBName.clear();
376
+
377
+
378
+
379
+ dbConnect(); // ※このクラス実行前に接続している場合は不要
380
+
381
+
382
+
383
+ /* SQL文の実行 */
384
+
385
+ try {
386
+
387
+ rs = stmt.executeQuery(sSQL);
388
+
389
+ } catch (Exception sql_e) {
390
+
391
+ bExceptionFlog = false;
392
+
393
+ sql_e.printStackTrace();
394
+
395
+ }
396
+
397
+
398
+
399
+ /* rsに受け取った値を戻り値用のalDBNameに格納 */
400
+
401
+ try {
402
+
403
+
404
+
405
+ rs = stmt.executeQuery(sSQL);
406
+
407
+ while (rs.next()) {
408
+
409
+
410
+
411
+ sDBName = rs.getString("Database");
412
+
413
+ this.sDBName.add(sDBName);
414
+
415
+
416
+
417
+ }
418
+
419
+
420
+
421
+ } catch (Exception sql_e) {
422
+
423
+ bExceptionFlog = false;
424
+
425
+ sql_e.printStackTrace();
426
+
427
+ }
428
+
429
+
430
+
431
+ /* SQL文をクリア */
432
+
433
+ dbClose();
434
+
435
+
436
+
437
+ return this.bExceptionFlog;
438
+
439
+ }
440
+
441
+
442
+
443
+ public ArrayList<String> getSDBName() {
444
+
445
+ return this.sDBName;
446
+
447
+ }
448
+
449
+
450
+
451
+ }
452
+
453
+ ```

1

追記

2018/06/20 19:03

投稿

makoto-n
makoto-n

スコア436

test CHANGED
File without changes
test CHANGED
@@ -169,3 +169,159 @@
169
169
  接続はこれを使っています。
170
170
 
171
171
  テストのためにsysoutを書いています。
172
+
173
+
174
+
175
+
176
+
177
+ 追記––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
178
+
179
+ エラーとメインメソッドを記述した物を書きます。
180
+
181
+ erorr
182
+
183
+ ```
184
+
185
+ 予期せぬエラーが発生しました。
186
+
187
+ com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
188
+
189
+
190
+
191
+ The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
192
+
193
+ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
194
+
195
+ at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
196
+
197
+ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
198
+
199
+ at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
200
+
201
+ at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
202
+
203
+ at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
204
+
205
+ at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:342)
206
+
207
+ at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2188)
208
+
209
+ at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221)
210
+
211
+ at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016)
212
+
213
+ at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776)
214
+
215
+ at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
216
+
217
+ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
218
+
219
+ at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
220
+
221
+ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
222
+
223
+ at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
224
+
225
+ at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
226
+
227
+ at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
228
+
229
+ at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
230
+
231
+ at java.sql.DriverManager.getConnection(DriverManager.java:664)
232
+
233
+ at java.sql.DriverManager.getConnection(DriverManager.java:247)
234
+
235
+ at db_test.DB_Connection.dbConnect(DB_Connection.java:32)
236
+
237
+ at db_test.Test.main(Test.java:13)
238
+
239
+ Caused by: java.net.ConnectException: Connection refused (Connection refused)
240
+
241
+ at java.net.PlainSocketImpl.socketConnect(Native Method)
242
+
243
+ at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
244
+
245
+ at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
246
+
247
+ at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
248
+
249
+ at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
250
+
251
+ at java.net.Socket.connect(Socket.java:589)
252
+
253
+ at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
254
+
255
+ at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:301)
256
+
257
+ ... 16 more
258
+
259
+ 成功
260
+
261
+ ```
262
+
263
+
264
+
265
+ main
266
+
267
+ ```java
268
+
269
+ package db_test;
270
+
271
+
272
+
273
+ import java.util.ArrayList;
274
+
275
+
276
+
277
+ public class Test {
278
+
279
+
280
+
281
+ public static void main(String[] args) {
282
+
283
+
284
+
285
+ ShowDB sdbTest = new ShowDB();
286
+
287
+ ArrayList<String> alRlt;
288
+
289
+ boolean bTestFlog = true;
290
+
291
+
292
+
293
+ sdbTest.dbConnect();
294
+
295
+ //bTestFlog = sdbTest.showDB();
296
+
297
+
298
+
299
+ if (bTestFlog == false) {
300
+
301
+ System.out.println("エラー");
302
+
303
+ } else {
304
+
305
+ System.out.println("成功");
306
+
307
+ alRlt = sdbTest.getSDBName();
308
+
309
+
310
+
311
+ for (String sDNmae : alRlt) {
312
+
313
+ System.out.println(sDNmae);
314
+
315
+ }
316
+
317
+ }
318
+
319
+ }
320
+
321
+ }
322
+
323
+ ```
324
+
325
+
326
+
327
+ 環境の問題でしょうか?