問題タブ [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 - 大量のデータを挿入するときの MySQL Data Truncation Error を修正するには?
Java アプリケーションから、かなり単純なデータベースを使用しています。標準の JDBC mysql アダプターを使用して、一度に約 200k のテキストを挿入しようとしています。断続的にcom.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column error.
列のタイプはlongtext
で、データベースの照合順序はUTF-8
です。エラーは、MyISAM
とInnoDB
テーブル エンジンの両方を使用して表示されます。最大パケット サイズは、クライアント側とサーバー側の両方で 1 GB に設定されているため、問題が発生することもありません。
java - Oracle パッケージをインポートせずに Java で REF カーソルを受け入れる方法
データベース接続のために JDBC を使用して Java プログラムを作成しています。ORACLE REF CURSOR を返すストアド プロシージャを呼び出しています。ORACLE PACKAGES をインポートせずにそれを処理する方法はありますか?
java - JDBCを使用する場合、PostgresqlのOracleのREF CURSORに相当するものは何ですか?
Oracleでは、参照カーソルを宣言できます...
...そしてそれを使用して、戻り値としてカーソルを渡します...
...そして、JDBC を使用して結果セットとしてキャプチャします...
Postgresqlで同等のものは何ですか?
java - Java JDBCを使用してvarcharフィールドにブール値を格納および取得することは可能ですか?
簡単な質問: 私の顧客は、データベースに varchar フィールドがあり、対応する jdbc コードがブール値を格納/取得している状況にあります。
ブール値の false と true は "0" と "1" に変換されると思いますが、これを確認したいと思います (オンラインで正確な動作仕様を見つけることができません。おそらく各ドライバーに依存します) 、この場合はOracle)。
自分で実験できることはわかっていますが、stackoverflow.com で試してみたいと思います。
ご回答有難うございます、
エリック。
java - 非常に大きな結果セットからのデータを表示するための最良の方法は何ですか?
監査証跡のレポートビューを作成していますが、これを.jspで表示する必要があります。データベースから画面にデータを取得するための「最良の」方法は何ですか?
依存性注入、データアクセスオブジェクト、HibernateにSpringを使用しています。このレポートには、休止状態またはストレートのjdbcを使用できます。
すべてのレコードをメモリにロードすると、メモリが不足します。
jspでクエリを実行することを含まないアイデアはありますか?
java - clob を暗号化する最良の方法は何ですか?
Oracle 9 と JDBC を使用しており、DB に挿入された CLOB を暗号化したいと考えています。理想的には、プレーンテキストを挿入して、ストアド プロシージャで暗号化できるようにしたいと考えています。
プレーンテキストは 4000 文字を超えることはないと予想されますが、暗号化するとテキストが長くなります。現在の暗号化のアプローチでは dbms_obfuscation_toolkit.DESEncrypt() を使用していますが、varchar のみを処理しています。以下は機能しますか?
一時的な clob について混乱しています。閉じる必要がありますか?それとも私は完全に軌道から外れていますか?
編集:難読化の目的は、データへの些細なアクセスを防ぐことです。もう 1 つの目的は、既に varchar 列を難読化しているのと同じ方法で CLOB を難読化することです。オラクルのサンプルコードは、私の特定の問題がある場所である clob を処理しません。varchar (2000 文字未満) の暗号化は簡単です。
java - 接続が閉じられたときに ResultSet が閉じられませんか?
私はペット プロジェクトの 1 つのコード レビュー (主に FindBugs のようなツールを使用) を行っており、FindBugs は次のコードをエラー (疑似コード) としてマークしました。
エラーは、このコードがリソースを解放しない可能性があるというものでした。ResultSet と Statement が閉じられていないことがわかったので、最終的に閉じました。
しかし、(かなりの数の企業の) 多くのプロジェクトで上記のパターンに遭遇しましたが、誰も ResultSet やステートメントを閉じていませんでした。
接続が閉じられたときに ResultSet とステートメントが閉じられないという問題がありましたか?
私はこれだけを見つけました.Oracleが接続を閉じるときにResultSetを閉じるのに問題があることを示しています(Oracle dbを使用しているため、私の修正です)。java.sql.api は Connection.close() javadoc で何も言いません。
java - Hibernate 3:PostgreSQLデータベースにクエリを実行できません
Hibernate 3.3.1 GA
とを使用してプロジェクトを設定していPostgreSQL 8.3
ます。最初のテーブルであるデータベースを作成し、そこに1つの行を追加して、Hibernateを構成しました。
ただし、最も単純なクエリでも次のようになります。
実行できませんでした(データベースに1つのレコードがありますが、空のリストが返されます)。PostgreSQLのログを調べて次のことを確認しました。
プレーンJDBCを使用して同じデータをフェッチする簡単なプログラムを作成しましたが、機能しました。この場合のPostgreSQLログは次のようになります(比較のため):
Hibernateデバッグログはエラーを示しません。ログにリストされているクエリを取得した場合:
psql内のデータベースに対して再度実行すると、機能します(これは、Hibernateが適切なSQLを生成したことを意味します)。
以下はHibernateの構成です。
...およびマッピングファイル:
ログエントリのグーグルunexpected EOF
は無駄ではありませんでした。何かアイデア、コミュニティ?
java - ソフトウェア更新時にバックエンド データベースを Java で更新する
既存のデータベース構造を更新できるツール/ライブラリはどれですか。ソフトウェアの更新時には、データベースも変更する必要があります。ソフトウェアのバージョンが異なる可能性があるため、現在のステータスとデータベースのターゲット ステータスを比較する必要があります。そうすべき:
- テーブルの列を追加し、デフォルト値を入力します。
- 表の列を削除
- 列のデータ型を変更します。たとえば、varchar(30) --> varchar(40)
- インデックスの追加/削除
- ビューの追加 / 変更 / 削除
- テーブル内の一部のデータを更新する
- ...
DBMS をサポートする必要があります。
- MS SQL Server 2000 ~ 2008
- オラクル サーバー 8 - 11
- MySQL
ソフトウェアのセットアップとアプリケーションは Java で実行されるため、Java でも実行する必要があります。私たちは何を使うことができますか?
理想的には、開発をスキャンして XML ファイルに保存します。次に、データ変更 SQL コマンドを追加します。その後、更新のセットアップを使用して顧客側で実行できます。
java - WebアプリDALでのJDBCデータベース接続
私は、かなり標準的なWeb /サービス/データアクセスの階層化されたデザインを使用して、楽しみ/学習のための小さなWebサイトを構築しています。
データアクセス層の場合、SQLストアドプロシージャを呼び出すためのConnectionオブジェクトの作成を処理するための最良の方法は何ですか?その理由は何ですか?私は多くのコードを手作業で書いていることを念頭に置いてください(私はHibernateなどを使用してこれをたくさん行うことができることを知っています)...
1)接続の静的インスタンスを1つ作成し、それを介してすべてのクエリを実行する必要がありますか、それとも同時実行の問題が発生しますか?
2)データベース呼び出しごとにConnectionインスタンスを作成し、パフォーマンスのオーバーヘッドを受け入れる必要がありますか?(これが当てはまる場合は、後日接続プールを調べます)