データベースとの接続にJavaプログラムでは常にjdbcを使用する必要がありますか、またはJavaプログラムでデータベースに接続するためにodbcのみを使用できますか?あなたはJDBC-ODBC driversodbcをデータベースとの接続にjavaのみ使用できますか?
答えて
日JREを使用することができます
は内蔵のJDBC/ODBCドライバ(sun.jdbc.odbc.JdbcOdbcDriver)が含まれています。 http://www.javacoffeebreak.com/articles/jdbc/
ドライバはOracle JRE 8で削除されているため、Javaバージョン7以前を使用してください。
Javaプログラムがデータベースと対話するJDBCドライバを使用する必要があるので、あなたは直接ODBCを使用することはできません。
他にも述べたように、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ドライバはそのために設計されています。
2015更新:JDBC-ODBCブリッジは廃止され、Java 8から削除されました。 –
短い回答:いいえ。
ODBC(Open Database Connectivity)は、あなたが話しているデータベースの詳細を隠します。それはJavaとは関係ありません。 javaプログラムがデータベースと対話する必要がある場合、ODBCドライバーと対話する必要があります。 ODBCドライバと対話するには、通信の仕組みの詳細を隠すJDBC-ODBCドライバが必要です。あなたはかなり多くのメソッドを呼び出すことができ、すべての呼び出しを行うことができます。抽象化の力。
データベースCant Iのみには常にODBCが必要ですかデータベースとのやりとりにのみjdbcを使用する – Mishthi
私の理解は、あなたが望んでいないことです。物事が完璧にならないときは、面倒でエラーが起こりやすくなります。
I.E./javaの中から非java DLLを呼び出すと、例外をキャッチすることはできません。
いいえ私はjdbc-odbcの使い方を知っています..私はちょうどそれが直接jdbcドライバを使用せずにODBCを使用することはできません知ってほしいですか? – Mishthi
ODBCはWindowsのDLLであるため、Cアプリケーションから直接ODBCを使用できます。 Javaから直接DLLを呼び出すことはできません。JNIブリッジが必要です.JdbcOdbcDriverは基本的にはそうです。 – rustyx
ok thanx ...私たちはjdbc-odbcドライバcantを使用する必要がありますか?単にデータベースとのやりとりにjdbcを使用しますが、ODBCを使用する必要はありませんか? – Mishthi