私はJDBCとインラインSQLステートメントを使用する従来のJSPアプリケーションを開発中です。JDBCステートメント注文
データベース内の不正なデータに問題があり、2つのステートメントをコードで指定されている順序とは異なる順序で実行できるかどうかは疑問です。つまり、次の例のように実行される2つの更新ステートメントがある場合です。
String sql1 = "update table set x = y";
String sql2 = "update table set z = a";
Statement statement = conn.createStatement();
db_wrapper.runSQL(sql1,statement);
db_wrapper.runSQL(sql2,statement);
重大な負荷がかかっていると、2番目のSQL文がデータベースによって最初の文より前に実行される可能性はありますか。
私たちはほとんどがoracleデータベースで実行すると問題が発生しています。
また、このコードでは現在トランザクションを使用していません。
トランザクションを使用する - 簡単な修正のように聞こえます。あなたは結局 'Connection'インスタンスを持っています。どのデータベース(「oracle」以外)、どのバージョンのドライバ、どのJVM、どのプラットフォーム、どのサーブレット・コンテナを使用しているのか、使用中のハードウェア、実行中のプロセスのリストを教えても...それは誰も推測以上の何かを持っている可能性は低いです。 – Paul
'db_wrapper'とは何ですか?リクエストを同期して送信していますか?または非同期ですか? –
例外処理を伴うstatement.executeUpdateなどのラッパーです。 – eaglestorm