問題タブ [jdbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Oracleへの接続中にエラーが発生しました。メソッドt2cGetCharSetのUnsatisfiedLinkErrorを取得する
JDK1.5を使用してApacheANTを使用して一連のJUnitを実行しています。
Oracle JDBCドライバーを使用するすべてのJUnitは、以下に示すUnsatisfiedLinkErrorを発生させます。
どのネイティブライブラリを探していますか?これを解決するにはどうすればよいですか?PATH変数には何を含める必要がありますか?
java - PreparedStatement IN 節の代替案は?
IN
のインスタンスで SQL 句を使用するための最善の回避策は何ですかjava.sql.PreparedStatement
。これは、SQL インジェクション攻撃のセキュリティ上の問題により、複数の値に対してサポートされていません: 1 つの?
プレースホルダーは、値のリストではなく 1 つの値を表します。
次の SQL ステートメントを検討してください。
Usingは、本質的には、そもそも preparedStatement.setString( 1, "'A', 'B', 'C'" );
使用する理由の回避策として機能しない試みです。?
どのような回避策がありますか?
java - JNI を使用して C ODBC 接続を JVM に公開するにはどうすればよいですか?
呼び出し API を使用して既存の C アプリケーションに JRE を埋め込んでいます。JDBC を使用して、そのコードでデータベースを操作できるようにしたいと考えています。このアプリケーションはトランザクション処理アプリケーションであり、データベース トランザクションはアプリケーションの C 部分のコードによって管理され、Java コードはそのトランザクション内で実行する必要があります。これは、新しい接続を開くことができないことを意味し ます。既存の接続を再利用する必要があります。
では、JRE をセットアップするときに既存の ODBC 接続ハンドルへの JDBC アクセスを提供する方法はありますか? JDBC-ODBC ブリッジの一部かもしれませんが、その名前の既存のドライバーとは異なり、既存の接続とトランザクションを使用するようにセットアップできるものです。
私の他のオプションは、私が見ているように、次のとおりです。
アプリケーションで可能なすべての C 操作に同等の Java を提供します (これは非常に多くの理由で望ましくありません。非常に多くのメソッドがあり、それらを複製するのは面倒です。
ODBC 接続を JNI でラップする独自の JDBC ドライバーを作成します。確かに、それは楽しい週末 (月) のプロジェクトになるでしょうが、それよりも早く何かを成し遂げる必要があると私は予想しています。
助けてください、Stack-Overflow、あなただけが私の希望です!
java - JDBC 接続が JTA 対応の DataSource から取得されたのか、それとも直接の JDBC から取得されたのかをどのように判断しますか?
ベンダー API を使用して、アプリケーションのデータベースへの JDBC 接続を取得しています。API は、アプリケーション サーバーで実行している場合、またはスタンドアロン モードで実行している場合に機能します。単一のトランザクションで一連の SQL ステートメントを実行したいと考えています。JTA トランザクションが存在する場合、そのコンテキストでそれらが発生しても問題ありません。ただし、そうでない場合は、JDBC トランザクション境界メソッドを使用する必要があります。(JTA トランザクションに参加している JDBC 接続でこれらのメソッドを呼び出すと、SQLException が発生します。)
そのため、Connection が JTA 対応の DataSource からのものなのか、それとも単なる JDBC 接続なのかを判断できる必要があります。
この決定を行う簡単な方法はありますか?
ありがとう!
java - oracle.jdbc.driver.OracleLog の使用方法を教えてください。
10g データベースへの接続を取得しようとすると、Oracle JDBC ドライバー (ojdbc14_g.jar) からエラーが発生します。ドライバーには oracle.jdbc.driver.OracleLog クラスがあり、これは役立つ可能性がありますが、Oracle のドキュメントでは最適な使用方法が不明です。このクラスを使用して成功した人はいますか? もしそうなら、その使用に関するいくつかのガイダンスをいただければ幸いです。
情報については、JDBC ドライバーから取得しているエラーは次のとおりです。
sql-server - Oracle データベースから Microsoft SQL Server データベースに接続するために使用できるオプションは何ですか?
現在、カスタムビルドの JDBC コネクタを使用して、リモートの MS SQL Server データベースからデータを取得しています。これはうまく機能しますが、それを行う方法のようには感じません。
サーバーの tnsnames に JDBC 接続文字列を入れて、「そのまま動作させる」ことができるはずだと思います。この機能について少し調べてみましたが、そこにはないようです。
このようにして、データベース リンクを使用するだけで、ほぼすべてのデータベースに接続できました。
私は何かを逃しましたか?
Generic Connectivity と Oracle Gateways の 2 つのオプションがあるように見えますが、これだけしかないことに驚きました。Generic Connectivity にはデータベース ライセンスが付属しており、Oracle Gateways はアドオンです。Generic Connectivity の場合、(私のような) Linux で実行している場合は、データベースにバンドルされていないため、ODBC ドライバーを入手する必要があります。
しかし... Oracle は熱心な Java ファンであり、JVM がデータベースに組み込まれていることを考えると、JDBC ベースのリンク テクノロジは非常に簡単だと思いました。TNSNAMES に JDBC 接続文字列を含めるのは自然な拡張のようで、すべてが「うまく機能する」でしょう。
これが利用できない理由はありますか?
java - ResultSet: インデックスによる列値の取得とラベルによる取得
JDBC を使用しているとき、次のような構造に出くわすことがよくあります。
私は自分自身 (およびコードの作成者) に、列の値を取得するためにラベルを使用しない理由を考えました。
私が聞いた最良の説明は、パフォーマンスに関するものです。しかし、実際には、それは処理を非常に高速にしますか? 私は測定を実行したことがありませんが、そうは思いません。ラベルによる検索は少し遅くなりますが、私の意見では、読みやすさと柔軟性が向上します。
では、列ラベルではなく列インデックスで列値を取得することを避けることについて、誰かが私に良い説明を与えることができますか? 両方のアプローチの長所と短所は何ですか (おそらく、特定の DBMS に関して)?
java - Oracle JDBC ソースを使用するには、Jetty 7 pre3 をどのように構成すればよいですか?
すべてのものは、Windows XP Pro SP2/32 ビットで実行されています。
http://dist.codehaus.org/jetty/jetty-7.0.0-prereleases/jetty-7.0.0pre3/jetty-assembly-7.0.0pre3.zip>dist.codehaus.org から Jetty 7 pre3 をダウンロードしました。
jetty を抽出しましたC:\jetty-7.0.0pre3\
(C:\jetty-7.0.0pre3\bin\ と他のディレクトリ
があります)。C:\jetty-7.0.0pre3\webapps\
web.xml に resource-ref があります。
そしてjetty.xmlで構成を行いました:
から実行java -DOPTION=plus -jar start.jar
していC:\jetty-7.0.0pre3\
ますが、次のエラーが表示されます。
C:\jetty-7.0.0pre3\lib\plus\jetty-plus-7.0.0pre3.jar
クラスパスにあります。同じコンソールで:
どうしたの?org.mortbay.jetty.plus.naming.Resource
start.jar の可視領域にどのように追加すればよいですか?
java - データ ソースの同期にどの JDBC ツールを使用していますか?
データベース間でデータを同期するために人々がどのツールを使用しているかを知りたいと思っています。コマンドライン ツールとして使用できる JDBC ソリューションを探しています。
以前は SyncML フレームワークを使用した Sync4J というツールがありましたが、これは廃れたようです。
java - java.sql.ResultSetのサイズを取得するにはどうすればよいですか?
これはかなり簡単な操作ではありませんか?しかし、私には方法size()
もlength()
方法もないと思います。