問題タブ [apache-commons-dbutils]

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.

0 投票する
0 に答える
321 参照

java - Android - Apache Commons DbUtils - QueryRunner 例外

アプリで Apache Commons DbUtils ( https://commons.apache.org/proper/commons-dbutils/ ) を使用しています。

jar ファイル ( commons-dbutils-1.7.jar) を libs フォルダーに追加しました。それから私はこのコードを持っています:

そして最後の行で、次の例外が発生します。

どうしたの?私は何をすべきか?他のライブラリをインポートしますか?

ご協力ありがとう御座います!

0 投票する
1 に答える
768 参照

java - 大きな QueryRunner の結果をファイルにストリーミングする必要があり、メモリに保存されているようです

特にSQLServerを介して、任意のSQL SELECT クエリの非常に大きな結果セットをJSONLファイルにストリーミングできるJavaアプリケーションを構築しようとしていますが、任意の JDBC で実行したいと考えていますDataSource。Python では、SQL クライアントの結果をジェネレータとして扱い、 を呼び出すのは簡単json.dumps()です。ただし、このコードでは、書き出す前にすべてをメモリに入れているように見え、通常、ヒープとガベージ コレクションの例外が発生します。これを実行するために必要なクエリは非常に大きく、最大 10 GB の生データが返されます。実行時間は、毎回機能する限り、主要な関心事ではありません。

行ごとにフラッシュを呼び出してみましたが(これはばかげています)、小さなデータセットでは役立ちますが、大きなデータセットでは役に立たないようです。これを簡単にやってのけるために使用できる戦略を誰かが提案できますか?

私の SQL クライアント クラスでは、Apache DbUtils を使用QueryRunnerしてs のMapListHandlerリストを作成しています。Map

JsonLOutputWriterクラス:

主な方法: