• ベストアンサー

JDBC対応のデータベース?

JAVAアプレット(JDK1.2)でデータベース(MS ACCESS97)へアクセスする場合 JAVAでのデータベースアクセスにはJDBCを使用し, MS ACCESSに対してはODBCを使用し, 橋渡しとしてJDBC-ODBC BRIDGEドライバを使用する方法が本でよくとられているように僕は解釈しています。(違うかもしれませんが...) しかし,MS ACCESS以外のデータベースでJDBCだけでアクセスしSQLをできるようなデータベースはあるのですか? あるのならそちらのほうがいいのではないのでしょうか? という質問でした。

  • nyu1
  • お礼率100% (6/6)

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.1

ありますよ。知っているところではOracle,Sybaseが対応しています。実際にOracleは操作もやってみました。 ドライバの場所を紹介しておきます。 http://otn.oracle.co.jp/software/db_connect/jdbc/jdbc.html http://www.sybase.co.jp/download/down_jconnect.html 基本的にMS Accessは、データ量が小なく、更新はマルチでしない場合はOKです。極端な言い方をすると共有して使用するDBではないと思います。(読み書きをシリアル化して使うのならOKかも) 使用目的にあっていれば、Accessでいいと思いますし、Accessの能力を超える使い方をするのであれば、Oracle,Sybase,SQL Serverと言ったデータベースを使用する必要があるでしょう。 ただし、Webで使用する場合、クライアントライセンスの問題がありますので、注意してください。

nyu1
質問者

お礼

回答ありがとうございました。大変参考になりました。

nyu1
質問者

補足

回答ありがとうございます。大変参考になりました。それでですが,oracleのページを見ましたがoracleがどうのようなものかがハッキリわかりませんでした。(データベースの他にもいろいろ書いてあってもので...)。よろしかったらどのような機能があるのかを教えてください。また,ソフトの値段なども...。

その他の回答 (1)

  • arata
  • ベストアンサー率49% (139/279)
回答No.2

Oracleは、おそらく最も売れているRDBで、Windows NT,2000,UNIX,Linux用などがあります。先ほど、紹介したページは技術者向けの情報のページです。Oracleのホームページは、 http://www.oracle.co.jp ですので、機能や特徴はこちらを見てください。 Sybaseは、モバイル向けのDBでトップシェアです。

nyu1
質問者

お礼

補足の回答までどうもありがとうございました。大変参考になりました。 しかし,Oracleって高いっすね。無知な僕は驚きましたです。 個人では...。 けど,本当に助かりました。また,何かあったら宜しくお願いします。

関連するQ&A

  • なぜ「アクセス」なんですか?

    WWWからデータベースへアクセスするjavaプログラム作成時によく「MS ACCESS」を使用するのはなぜなんですか?JDBCで直接データベースへアクセスできるようなデータベースがあればわざわざODBCを使用しJDBC-ODBC bridgeで橋渡しをしなくてもJDBCだけでできるんではないですか?また直接アクセスできるデータベースがない等の問題点があるのですか?教えてください.よくわからないのでお願いします.(質問が的はずれだったらすみません.まだ勉強がたりないもので...)

  • java データベース接続

    javaの勉強していまして、質問があります。よろしくお願いします。 javaでデータベースの接続ができなくて迷っております。ずっとネットで調べてもダメでした。 ネットで調べたとおりにやっても、 例外発生:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver このようなエラーがでます。 eclipseを使ってます。windows7 練習にアクセスにつなごうと思ってます。 事前にデータソース(ODBC)の登録はしました。 ドライバーとかインストールするものなのでしょうか? package sample; import java.sql.Connection; import java.sql.DriverManager; public class Hello { public static void main(String args[]) { try { //JDBCドライバのロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //各設定 String url = "jdbc:odbc:SampleDB030"; String user = ""; String pass = ""; //データベースに接続 Connection con = DriverManager.getConnection(url,user,pass); System.out.println("接続成功"); //データベースを切断 con.close(); } catch (Exception e) { System.out.println("例外発生:" + e ); } } }

    • ベストアンサー
    • Java
  • JDBC接続について

    お世話になります。 MSDE2000にJDBCにて接続したいのですが、SQLExceptionが発生して接続できません。 JDBCドライバーはMSよりDLして、CLASSPATHに追加しております。 環境は OS:Win2K Pro JAVA:jdk1.3.1_18 です。 JAVAのソースは下記のとおりです。 import java.sql.*; import java.io.*; import java.util.*; public class SQLServerJDBCTest { public static void main(String[] args) { // ログインに必要な情報 String user = "sa"; //ユーザ名 String pass = "password"; //パスワード try { // ドライバクラスをロード Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // データベースへ接続 Connection con = DriverManager.getConnection ("jdbc:microsoft:sqlserver://127.0.0.1:1433",user,pass ); // ステートメントオブジェクトを生成 Statement stmt = con.createStatement(); // クエリーを実行して結果セットを取得 String sql = "SELECT GETDATE()"; ResultSet rs = stmt.executeQuery(sql); // 表示 while (rs.next()) { System.out.println(rs.getString(1)); } // データベースから切断 stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } } } おかしな点や追加設定等ありましたらご指摘ください。 (投稿文字制限でExceptionの内容が載せられませんでした。) また、MSDEのバージョン7に接続する場合、同じJDBCドライバーで、同じ設定でいいのでしょうか? よろしくお願いいたします。

  • JDBCプログラミング

    以下のプログラムは、DBkanri.javaというファイル名で、データベースに接続してデータを取得し、取得したデータを表示させるJSPファイルとともに使います。これを、テーブルの作成、レコード追加、フィールド 追加等の更新をし、更新後のデータも取得できるようなプログラムにアレンジしたいのですが、 どなたか、アドバイスください。お願いします。 ちなみに環境は、tomcat3.2.1 JDK1.3.1_02MS Access2000です。 package Kadai; import java.sql.*; public class DBkanri{ private String driver; private String url; private String user; private String password; private Connection connection; private Statement statement; private ResultSet resultset; public DBkanri(){ driver="sun.jdbc.odbc.JdbcOdbcDriver"; url="jdbc:odbc:CONNECTION"; user="abcde"; password="12345"; } public synchronized void open() throws Exception { Class.forName(driver); connection=DriverManager.getConnection(url, user, password); statement=connection.createStatement(); } public ResultSet getResultSet(String sql) throws Exception { if ( statement.execute(sql) ){ return statement.getResultSet(); } return null; } public void execute(String sql) throws Exception { statement.execute(sql); } public synchronized void close() throws Exception { if( resultset != null ) resultset.close(); if( statement != null ) statement.close(); if( connection != null ) connection.close(); } }

  • JDBCでaccessから取得したデータをjTableに表示させたい。

    JDBCでaccessのデータベースから取得したデータをjTableに表示させたいのですが どのようにしたらセルのデータやタイトルを入力させることができますか? またデータベースを操作したらその結果を表示させたいと考えています。どのようにすれば実現できるでしょうか? accessのデータベースには以下のように接続していました。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String str = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb"; Connection con = DriverManager.getConnection(str, "", ""); 開発環境はNetBeansを使用しています。

  • JDBCについて

    JDBCを用いたMySQLデータベースへの接続方法について質問があります。 【現在の状況】 tomcatをインストール済み(正常に作動・・・起動した状態で、http://localhost:8080/に接続できます。) MySQLをインストール済み(正常に作動・・・データベースを作成できます。(例えば、sampleとします。)) JDBCドライバをセットアップ済み(CLASSPATHの設定も問題ありません。) しかし 作成したデータをjavaプログラムを用いて表示しようとしたところ com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'sample' というエラーが出てしまいました。 データベースへのアクセスが拒否されたとあるのですが 理由がわからずに困っております。 接続は、以下のようにしています。 Class.forName("com.mysql.jdbc.Driver"); Connection cn = DriverManager.getConnection("jdbc:mysql:///cardb", "", ""); 解決策をご存知の方いらっしゃいましたら 御指導願います。

    • ベストアンサー
    • Java
  • JDBC-ODBC-MDB(日本語テーブル・カラム名)アクセスで、ODBC -1305エラー

    日本語のテーブル名・カラム名を使用したAccess(2000) mdb に JSPおよびServletからJDBC(ODBC経由)でアクセスすると、 SQL実行[executeQuery()]時に下記のエラーが発生します。 getMessage(): [Microsoft][ODBC Microsoft Access Driver] getErrorCode(): -1305 getSQLState(): S0002 ただし、 1.Javaアプリケーションから直接JDBC(ODBC経由)でアクセスすると正常に動作します(ResultSet取得)。 2.JSP・サーブレットからのアクセスでも、   2-1.テーブル名・カラム名がascii文字のテーブルの場合   2-2.テーブル名・カラム名が日本語でも、SQLで使わない場合      例:SELECT now()   の場合は、 正常に動作します(ResultSet取得)。 JSP Servletは   contentType="text/html; charset=Windows-31J"   pageEncoding="windows-31j" で、保存形式は 日本語Shift_JISです。 出力画面表示に文字化けはありません。 作業環境はノートPC1台で、  Tomcat: 5.5.27 JDK/JRE : 1.6.0_07  Eclipse: 3.4.2  OS:Vista Ultimate SP1  ODBCデータソース:システムDNS Microsoft Access Driver(*.mdb) 6.00.6001.18000 ODBCJT32.DLL です。 諸兄のお知恵を拝借お願いします。 ※エラーコードの内容は? ※どのあたりを調べればよいか? ========================= Servletの場合のStackTraceなど -- getMessage:[Microsoft][ODBC Microsoft Access Driver] getErrorCode:-1305 getSQLState:S0002 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) ========================= JSPの場合のStackTraceなど -- getMessage:[Microsoft][ODBC Microsoft Access Driver] getErrorCode:-1305 getSQLState:S0002 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) at org.apache.jsp.TestODBC_jsp._jspService(TestODBC_jsp.java:95) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

  • JDBC PostgreSQLで必要なファイルはあるのでしょうか?

    LinuxでPostgreSQLのデータベースをJDBCでアクセスしたいのですが、以下のソースで次のエラーが発生します。何か必要なファイルでもあるのでしょうか? java.lang.ClassNotFoundException:org.postgres.Driver また、LinuxのODBCも必要なファイルがあるのでしょうか? import java.sql.*; class jdbcSample2 { public static void main(String argv[]) { int a; String b; try { //Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); //String url = "jdbc:odbc:test"; Class.forName ("org.postgres.Driver"); String url = "jdbc:postgresql://127.0.0.1:5432/test"; String user = ""; String password = ""; Connection con = DriverManager.getConnection(url, user, password); Statement stmt = con.createStatement (); String query = "select * from member;"; ResultSet rs = stmt.executeQuery (query); while(rs.next()){ a = rs.getInt(1); b = rs.getString(2); System.out.println(a + ", " + b); } rs.close(); stmt.close(); con.close(); } catch (SQLException ex) { System.err.println("SQL failed."); ex.printStackTrace (); } catch (Exception ex) { ex.printStackTrace (); } } }

  • JDBCとJDBCドライバのライブラリについて

    JDBCのライブラリと、DBベンダーのJDBCドライバのライブラリは、 どのような役割分担になっているのでしょうか? JDBCのライブラリ(ex. java.sql.Connection)は当然使った事がありますが、 DBベンダーのライブラリ(例えば、OracleのOJDBCのライブラリ)は使った事が無いな、、、 と思って質問しました。

    • ベストアンサー
    • Java
  • 使用すべきOracle8i用JDBCドライバのバージョンについて

    下記の構成でTomcatからデータソースを利用して DBにJDBC接続しようと思っています。 【OS】 WindowsXP 【JDK】 1.4.15 【アプリケーションサーバ】 Tomcat4.1.36 【データベース】 Oracle8.1.5 Oracleインストール後、%ORACLE_HOME%/jdbc\lib/以下のフォルダには 下記のJDBCドライバしかありませんでした。 classes102.zip (JDK 1.0.2 用) classes111.zip (JDK 1.1.x 用) また下記のURLよりOracle JDBC Driver 8.1.5のJDBCドライバをダウンロードしようと試みました。 http://otn.oracle.co.jp/software/tech/java/jdbc/index.html ところが、Oracle8iについては8.1.7のJDBCドライバのみ公開しており、 その内容を見ても下記のJDBCドライバしかありませんでした。 classes111.zip(JDK 1.1.x 用) classes12.zip(JDK 1.2.x 用) 今回の私の環境では、どこからどのバージョンのJDBCドライバを入手して 使用すればいいのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • Java