2010-12-07 13 views

答えて

4

日JREを使用することができます

+0

いいえ私はjdbc-odbcの使い方を知っています..私はちょうどそれが直接jdbcドライバを使用せずにODBCを使用することはできません知ってほしいですか? – Mishthi

+6

ODBCはWindowsのDLLであるため、Cアプリケーションから直接ODBCを使用できます。 Javaから直接DLLを呼び出すことはできません。JNIブリッジが必要です.JdbcOdbcDriverは基本的にはそうです。 – rustyx

+1

ok thanx ...私たちはjdbc-odbcドライバcantを使用する必要がありますか?単にデータベースとのやりとりにjdbcを使用しますが、ODBCを使用する必要はありませんか? – Mishthi

0

は内蔵のJDBC/ODBCドライバ(sun.jdbc.odbc.JdbcOdbcDriver)が含まれています。 http://www.javacoffeebreak.com/articles/jdbc/

ドライバはOracle JRE 8で削除されているため、Javaバージョン7以前を使用してください。

1

Javaプログラムがデータベースと対話するJDBCドライバを使用する必要があるので、あなたは直接ODBCを使用することはできません。

1

他にも述べたように、JDBC/ODBCブリッジドライバを使用することができます。 (@ Rustamのリンクをここに繰り返し:http://www.javacoffeebreak.com/articles/jdbc/)。

JDBC-ODBCブリッジを使用する場合、注意すべき点がいくつかあります。第一に、さまざまな理由からSunが推奨するものではありませんでした。適切なJDBCドライバの代わりにブリッジを使用することの3つの重要な意味は次のとおりです。

  • JDBCのすべての機能がサポートされているわけではありません。 ODBCはより限定的なAPIなので、トランザクションのセーブポイントなどの一部の機能はサポートされていません。ただし、プリペアドステートメントのような最も一般的な機能は次のとおりです。
  • Javaランタイム変換のネイティブコードは、Javaですべてを実行していた場合よりもはるかに低速です。
  • JDBC/ODBCドライバは、適切なJDBCドライバよりも脆弱です。基本的に、ODBCドライバの実装者が何らかの方法で動作しない場合、JDBCドライバは失敗し、捕まえられない例外がいくつかスローされます。特に、メモリリークの影響を受けやすくなります。長時間実行しているサービスを構築していない場合は、問題ありません。

つまり、JDBC/ODBCドライバは直接JDBCをサポートしていないデータベース(ほとんどの主要なデータベースが動作します)で動作します。時には、それらの派手な機能をすべて必要とせず、何かを素早く一緒に投げたい場合もあります。 JDBC/ODBCドライバはそのために設計されています。

+1

2015更新:JDBC-ODBCブリッジは廃止され、Java 8から削除されました。 –

0

短い回答:いいえ。

ODBC(Open Database Connectivity)は、あなたが話しているデータベースの詳細を隠します。それはJavaとは関係ありません。 javaプログラムがデータベースと対話する必要がある場合、ODBCドライバーと対話する必要があります。 ODBCドライバと対話するには、通信の仕組みの詳細を隠すJDBC-ODBCドライバが必要です。あなたはかなり多くのメソッドを呼び出すことができ、すべての呼び出しを行うことができます。抽象化の力。

+0

データベースCant Iのみには常にODBCが必要ですかデータベースとのやりとりにのみjdbcを使用する – Mishthi

0

私の理解は、あなたが望んでいないことです。物事が完璧にならないときは、面倒でエラーが起こりやすくなります。

I.E./javaの中から非java DLLを呼び出すと、例外をキャッチすることはできません。

関連する問題