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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Java

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

h2o

H2Oは、ビッグデータを用いて機械学習や予測分析を行うオープンソースのソフトウェアです。in-memoryプラットフォームとして、Hadoop・Spark上で動作するのを前提に配布されています。

Q&A

解決済

1回答

4103閲覧

JavaからH2(組込み型)への接続について

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Java

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

h2o

H2Oは、ビッグデータを用いて機械学習や予測分析を行うオープンソースのソフトウェアです。in-memoryプラットフォームとして、Hadoop・Spark上で動作するのを前提に配布されています。

0グッド

0クリップ

投稿2015/11/11 02:52

編集2015/11/11 03:20

JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、接続する方法を教えてください!!

import java.io.IOException; import java.util.*; public class DBmain{ public static void main( String[] args ){ // H2 console 起動処理 try { Runtime rt = Runtime.getRuntime(); rt.exec("java -jar C:\\Users\\ユーザファイル\\Desktop\\h2-2015-10-11\\h2\\bin\\h2-1.4.190.jar" ); Process p = Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe"); try { Thread.sleep(5000); p.destroy(); } catch (InterruptedException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } catch (IOException ex) { ex.printStackTrace(); }finally{ } H2o h2o = new H2o(); int num; @SuppressWarnings("resource") Scanner stdin = new Scanner( System.in ); //SQLの処理選択 System.out.print( "SELECT文:1 or INSERT文:2 or UPDATE文:3 or 終了:1,2,3以外" ); num = stdin.nextInt(); if( num == 1 ){ //SELECTの場合 h2o.select(); } else if( num == 2 ){ //INSERTの場合 System.out.println( "追加 商品ID " ); int id = stdin.nextInt(); System.out.println( "追加 商品名 " ); String name = stdin.next(); System.out.println( "追加 商品価格 " ); int price = stdin.nextInt(); h2o.insert2(id,name,price); } else if( num == 3){ System.out.println( "変更する値 : " ); String henkou = stdin.next(); System.out.println( "どの値を変更しますか :" ); String zyo = stdin.next(); h2o.Update(henkou, zyo); } } }

import java.sql.*;

public class H2o{
private Connection con = null;
private Statement stm;
private String sql1 = null;

public H2o() { try { // JDBCドライバのロード Class.forName("org.h2.Driver").newInstance(); // MySQLに接続 con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "user", "1234"); stm = con.createStatement(); System.out.println("H2に接続できました。"); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { System.out.println("JDBCドライバのロードに失敗しました。"); } catch (SQLException e) { // System.out.println("H2に接続できませんでした。"); } finally { if (con != null) { } } } public void insert2(int id,String name,int price){ try{ //ステートメント生成 stm = con.createStatement(); int ID = id; String NAME = name; int PRICE = price; // INSERT INTO 文 //sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES (204,'西山',245)"; sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES(" + String.valueOf(ID) + "," + "'" + NAME +"'"+ "," + String.valueOf(PRICE) + ")"; stm.executeUpdate(sql1); System.out.println("Insert完了!!"); } catch (SQLException e) { System.out.println("H2に接続できませんでした。1"); } finally { if (con != null) { //H2 クローズ処理 try { con.close(); } catch (SQLException e) { System.out.println("H2のクローズに失敗しました。"); } } }

}

public void select(){ try{ //ステートメント生成 stm = con.createStatement(); // SELECT 文 sql1 = "select * from products"; ResultSet rs = stm.executeQuery(sql1); while(rs.next()){ int code = rs.getInt(1); String name = rs.getString(2); int price = rs.getInt(3); System.out.println("取得結果 -> " + code + ":" + name + ":" + price ); } } catch (SQLException e) { System.out.println("H2に接続できませんでした。1"); } finally { if (con != null) { try { // H2 クローズ処理 con.close(); } catch (SQLException e) { System.out.println("H2のクローズに失敗しました。"); } } } } public void Update(String x,String z){ try{ //ステートメント生成 stm = con.createStatement(); String henkou = x; String zyo = z; // UPDATE 文 sql1 = "UPDATE PRODUCTS SET" + String.valueOf(henkou) + "(WHERE" + String.valueOf(zyo) + ")"; stm.executeUpdate(sql1); System.out.println("UPDATE完了!!"); } catch (SQLException e) { System.out.println("H2に接続できませんでした。1"); } finally { if (con != null) { //H2 クローズ処理 try { con.close(); } catch (SQLException e) { System.out.println("H2のクローズに失敗しました。"); } } }

}

}

rt.exec("java -jar C:\Users\ユーザファイル\Desktop\h2-2015-10-11\h2\bin\h2-1.4.190.jar" );

がないと、H2 consoleに接続できません。

実装環境は Eclipse です。

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

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

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

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

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

argius

2015/11/11 02:58

JavaのプログラムからJDBC接続するならログイン画面は出ません。むしろ、どのような操作をするとログイン画面が出るのかが分かりませんので教えてください。
argius

2015/11/11 03:27

追記ありがとうございます。h2-1.4.190.jarをクラスパスに追加していないということでしょうか? H2につながればRuntimeとかは要らないんですよね?
guest

回答1

0

ベストアンサー

URLが組み込み用になっていませんね。

組み込みなら、jdbc:h2:fileを使います。
"jdbc:h2:file://localhost/~/test"

「H2 console 起動処理」がまるごと要らなくなるはずです。

投稿2015/11/11 03:48

argius

総合スコア9388

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問