問題タブ [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 - jdbc: いつ何を閉じることができますか
現在、次の基本構造のjdbcコードがあります。
接続を取得
(次の 4 行を数回実行し、ステートメントを閉じないでください)
ステートメントを
取得 結果セットを取得 結果セットを
処理 結果セットを
閉じる
接続を閉じる
このコードを書いた後、ステートメントを閉じる必要があることに気づきました。
1 ステートメントを閉じないことの影響は何ですか。
2 次のように動作しますか? この si ステートメントを閉じると、結果セットを通常どおり処理できなくなりますか?
接続を取得
(次の 5 行を数回実行)
get statement
get result set
close statement
process result set
close result set
接続を閉じる
performance - ORM ソリューション (JPA; Hibernate) と JDBC の比較
インメモリ HSQL データベースで、5 秒ごとに少なくとも 8000 オブジェクトの一貫した速度でオブジェクトを挿入/更新できる必要があります。
Spring/Hibernate/JPA と純粋な JDBC の間でいくつかの比較パフォーマンス テストを行いました。HSQL を使用すると、パフォーマンスに大きな違いがあることがわかりました。Spring/Hib/JPA を使用すると、1.5 KB オブジェクト (1 対多および多対多の関係) を 5 秒で 3000 ~ 4000 個挿入できますが、直接ではJDBC 呼び出しでは、同じオブジェクトを 10,000 ~ 12,000 個挿入できます。
なぜこのような大きな違いがあるのか わかりません。Spring/Hib/JPA の設定を何度も微調整して、運が悪ければパフォーマンスに近づこうとしました。将来の目的、拡張性、および外部キー関係 (1 対多および多対多) を手動で維持するのが難しいため、Spring/Hib/JPA を使用したい。しかし、パフォーマンス要件は、純粋な JDBC の使用を指しているようです。
なぜこのような大きな違いが生じるのか、何か考えはありますか?
java - Java アプリケーションからの SQL Server jdbc ドライバーのログ記録を無効にする方法を教えてください。
アプリケーション ログ レベルを FINE に変更すると、SQL Server のログもそれを使用するため、不要なログ メッセージが大量に発生します。SQL Server のログ メッセージをオフにするにはどうすればよいですか?
jdbc - 統合テストのためにデータベースの失敗を扇動する
統合テスト(この場合、WebサービスがJDBCと通信している)を実行するとき、結果として生じる石鹸の障害を検査できるように、データベースにエラーをスローさせるにはどうすればよいですか?
私はSpringのTransactionalTestFrameworkを使用しているので、それDROP TABLE whatever;
を破るために単に発行するのは不合理でしょうか?:D
oracle - 最適なタイプ 4 Oracle JDBC ドライバーは?
最適なタイプ 4 Oracle JDBC ドライバーは?
私が欲しいもの:
- 安定しており、バグが少なく、迅速な修正が行われています
- 通常の JDBC の落とし穴 (接続リークなど) について警告する必要があります。
- CLOBをサポートする必要があります
[編集] 「無料」の Oracle Type 4 ドライバーに関する私の主な問題は次のとおりです。
- CLOB サポート コードのカーソル リークを 2 週間かけて探しました (ストリームを閉じても、基になるカーソルは閉じられません)。
- ResultSet から値をフェッチするときは、それらを順番に処理する必要があります (したがって、列 #4 をフェッチした後に列 #3 を取得することはできません)。
- 結果セットの getMetaData() は、最初の行をフェッチするまで機能しません。
- 他にも多くのバグや欠陥がありましたが、もう覚えていません。
全体として、1 席あたり 1,000 ドルかかるドライバーは、オラクルの「無料」ドライバーよりも「安価」です。ドライバーの唯一の利点は、データベースを TNSNAMES に入れる必要がなく、単一のドライバーを使用して Oracle 8、9、および 10 にアクセスできることでした。それが私が尋ねる理由です。
java - javaでjdbcコードを単体テストするにはどうすればよいですか?
データベースに接続し、1 つ以上のクエリを実行し、結果を処理するコードの単体テストを書きたいと思います。(実際にデータベースを使用せずに)
ここにいる別の開発者は、xml 構成ファイルに基づいて対応するオブジェクトを返す独自の DataSource、Connection、Statement、PreparedStatement、および ResultSet 実装を作成しました。(偽のデータソースを使用して、それが返す結果セットに対してテストを実行するだけで済みます)。
ここで車輪を再発明していますか?このようなものは単体テスト用にすでに存在しますか? jdbcコードをテストするための他の/より良い方法はありますか?
java - JavaコードからColdFusionデータソースにアクセスする
私はColdFusionMX7内で実行したいサーブレットを持っています。可能であれば既存のColdFusionDSNをjavax.sql.DataSourceとして利用したいと思います。
私は次のようなことを考えました
動作しますが、残念ながらサーブレットは
sql-server - SQL2000 の BCP out エラー: SQLState = 37000、NativeError = 4060
マシンのローカル DB にあるすべてのユーザー テーブルを取得する proc を作成しました。BCP と SQL を使用して、すべてのテーブルのフラット ファイルを作成できるようにしたいと考えています。Windows認証を介して接続するSQL 2000のダミーデータベースです。WinXP SP2 で環境パス変数を設定しました。信頼できる接続を使用して、データベースにアクセスするための新しいユーザーを作成し、ファイアウォールをオフにしました。私は何十ものフォーラムを試しましたが、うまくいきませんでした。
dosコマンドプロンプトで同じエラーが発生します。
SQLState = 37000、NativeError = 4060 エラー = [Microsoft][ODBC SQL Server Driver][SQL Server] ログイン '[HelpDesk-EasyPay' で要求されたデータベースを開けません。ログインに失敗します。
ここに私のSPがあります:
誰でもアドバイスできますか。これは接続の問題または BCP のようです。わからない。
編集:フラット ファイルに出力するテーブルが 118 個あるため、これをクエリ アナライザーから実行しています。ユーザー名saパスワードrootでマスターdbに接続しようとしたため、認証の問題であることに同意しているようです。これが設定されており、同じエラーが発生します:SQLState = 37000、NativeError = 4060
java - JDBC の内部を理解する
[1] JDBC では、最初に Class.forName("some driver name") を使用してドライバーをロードする必要があるのはなぜですか。SUN が getConnection() メソッド自体でドライバのロードを処理しなかったのはなぜですか。ドライバ名をパラメータとして getConnection() メソッドに渡した場合。
[2] JBDC の内部構造を理解したいと思っています。