問題タブ [sqltransaction]
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.
php - mysqli ストアド プロシージャと update ステートメント
mysql テーブルの更新に問題があります。問題はやや奇妙に思えますが、以下で説明します。
単一のフォームからのデータが2つの異なるテーブルに挿入/更新されるユーザーのプロファイル更新に取り組んでいますが、フォーム情報全体を更新するとデータの更新は成功しますが、2つまたは3つのフィールドのみを更新すると更新は失敗します. 私はSQLの更新にmysqlストアドプロシージャを使用しています。コードは次のとおりです...
さまざまなキーワードで何度も質問をグーグル検索しましたが、関連する質問が見つかりません。更新ステートメントを正しく書きましたが、更新される新しいデータのほとんどが古いデータと同じであり、先輩が言ったので、更新されていません。私は、新しいデータセットが送信されて使用された場合にのみ更新が機能する..
ですから、この問題を解決するのを手伝ってください。事前に感謝します..
sql - 複数の SQL プロシージャでトランザクションを使用するには?
SQL プロシージャを使用してトランザクションを開始し、他の 2 つのプロシージャを実行してから、コマンド「commit」で最初のプロシージャを実行したいと考えています。これが可能だと思いますか?試しましたが、エラーが発生しました。 EXECUTE 後のトランザクション数は、BEGIN ステートメントと COMMIT ステートメントの数が一致していないことを示しています。前のカウント = 0、現在のカウント = 1。
c# - Connection が null であるため、C# SqlTransaction.Commit スロー例外
SqlTransaction の使用に問題があります。これがコードです
誰にも手がかりはありますか?
これは、接続が多すぎてデータベースサーバーのメモリが使い果たされたことが原因であると思われます。確信はないけど。
どうすればこれを解決できますか?
c# - 異なる.net(c#)スレッドを介して複数のSQLトランザクションを処理する方法
テーブルにデータを一括挿入するには、次の方法があります。まず、私のコードはデータテーブルにデータを入力し、.netのSqlBulkCopy句を使用して、このデータを対応するテーブルに挿入します。
データをすべてのテーブルに挿入するか、どちらにも挿入しないようにする必要があります。このために、私は.netのSqlTransactionクラスを使用しました。
シナリオは、複数のスレッドが同時に次のコードブロックを実行することです。
この同時実行性を処理するために、もう1つのテーブル(一括挿入テーブル)が存在するデータベースに1つのダミーテーブル(「lockTable」という名前のテーブル)を作成しました。SqlTransactionのこのダミーテーブルで排他ロックが発生し、コマンドタイムアウトが3時間になります。
問題:次の例外が発生します
:宛先テーブル'Tbl1'にアクセスできません(tbl1は一括挿入用のテーブルです)
キャッチブロックでトランザクションをロールバックしている間、別の例外が続きます
:アクティビティの実行中にエラーが発生しましたサーバーはトランザクションを再開できませんでした。Desc:3a00000001。このセッションでアクティブなトランザクションは、別のセッションによってコミットまたは中止されました。
コードのこの奇妙な振る舞いについて誰かが私を助けてくれますか?私はすでにインターネットでこの問題についてたくさん検索しましたが、私にとって役立つものは何も見つかりませんでした。
c# - SqlTransactionを使用して数千のSqlCommandsを処理すると、メモリ例外が発生します
SQL Server 2008 Expressデータベースを使用して、標準のC#Windowsフォームアプリでカスタムレプリケーション関数を作成しました。基本的に、サブスクライバーデータベースに対して実行する必要のある一連のSQLステートメントを取得します。完全に更新すると、実行する必要のある最大200k以上のステートメントが実行される可能性があります。
以下に示すように、コードブロック内でこれらのステートメントを処理します。
私が見つけたのは、私のアプリケーションのメモリ使用量は、最初の30kステートメントで約40MBとかなり安定しているということです。その後、突然300mb前後にジャンプし、OutOfMemory例外が発生するまで大きくなります。
私が使用している方法は可能ですか?1つのトランザクション内でその多くのステートメントを処理できますか?私はこれができるはずだと思います。もっと良い方法があれば、ここに行きたいです。これはトランザクションである必要があります。そうしないと、部分的なレプリケーションによってデータベースが破損します。
ありがとう。
編集:
コンピューターを再起動した後、200k以上の完全なレプリケーションを実行することができました。レプリケーションが完了した後、ある時点でメモリ使用量が1.4Gbに増加しましたが、メモリ使用量は40MBにまで低下しました。これにより、コマンドを処理するループ内の何かが、おそらくメモリの増加を引き起こしていると結論付けることができます。
database - トランザクションと symfony2 エンティティ マネージャー
symfony2 でエンティティ マネージャー (ドクトリン) を使用して手動でトランザクションを指定する方法はありますか? または、以下で 2 つのトランザクションで行っていることを 1 つのトランザクションで達成する自然な方法はありますか?
ID を取得するために最初のエンティティをフラッシュする必要があるので、2 番目のエンティティを最初のエンティティに関連付けることができます...
sqltransaction - SqlClient.SqlTransaction と System.Transactions
MSDTCの設定には一定の問題があり、現在は に置き換えるSystemTransactions
ことを検討していSqlTransactions
ます。
上記の違いと、それによって発生する可能性のある問題に興味があります。
.net - .NET Web サービスのタイムアウト - 作業の中止
Web サービス メソッドを呼び出す Winforms アプリケーションがあります。
webservice メソッドは長時間実行されるトランザクションを開始します (残念ながら、長時間実行される 1 つのコマンドとは対照的に、小さなコマンドがたくさんあります)。
私が見る限り、webservice 呼び出しがタイムアウトした場合、webservice メソッドのトランザクションは引き続き実行され、完了します。私がしたいのは、Webサービスがタイムアウトしたときにトランザクションがロールバックすることです。これは可能ですか?
c# - パラメータを使用したSQLトランザクション
SQLトランザクションステートメントを使用してストアドプロシージャを実行しています。従来は、コマンドパラメータを使用して、コマンドにさまざまな変数を挿入していました。
トランザクションで同じメソッドを使用しようとすると、トランザクションはエラーなしで機能しますが、プロシージャはデータベースに挿入されませんでした。
これが私がそれをやろうとしている方法です:
私はこの投稿を見ました-しかし、それは多くの変数でかなり長い間巻き込まれているようです。
sql - SQL Server トランザクションの finally 句? 成否に関係なく実行される何か?
SQL Server では、 c# のブロックにfinally
節に似たものはありますか?try..catch...
つまり、SQL Server トランザクションで etcを使用BEGIN TRAN, END TRAN, COMMIT TRAN, ROLLBACK TRAN
しており、成功、失敗、またはトランザクションに関係なく起動する必要があるセクションまたは一連のアクションが必要です。
その解決策はありますか?(OOPS 言語の try/catch での finally ブロックに似ています)。
前もって感謝します