問題タブ [sqlconnection]
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.
sql-server - SQL接続を数回開いたり閉じたりするのはどれほど悪いですか? 正確な効果は何ですか?
たとえば、SQLDataAdapter の Fill() メソッドで多数の DataTable を埋める必要があります。
すべての dataadapter オブジェクトが同じ SQLConnection を使用していても、メソッド呼び出しの前に接続状態が既に開いていない限り、各 Fill メソッドは接続を開いたり閉じたりします。
私が知りたいのは、SQLConnections を不必要に開いたり閉じたりすると、アプリケーションのパフォーマンスにどのような影響があるかということです。この問題の悪影響 (100,000 の同時ユーザー?) を確認するには、どの程度の規模にする必要がありますか? 中規模の Web サイト (毎日 50000 人のユーザー) では、すべての Fill() 呼び出しをわざわざ探して検索し、それらをコード内にまとめて、Fill() 呼び出しの前に接続を開き、後で閉じることに価値がありますか?
sql-server-2005 - SQLサーバーに接続できません
私は自分のマシンに管理stdio2005を持っていて、SQLServer2008に接続しようとしています
内部例外として次のメッセージを受信しています。
{「SQLServerへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:Named Pipes Provider、エラー:40-SQL Serverへの接続を開くことができませんでした) "}
誰でも助けてくれますか
ありがとう、
ビジェイ。
ado.net - ADO.NET SqlData クライアント接続がなくなることはありません
私が取り組んでいるasp.netアプリケーションには、数百人のユーザーが接続しようとしている可能性があります。プール内の最大接続数に達したというエラーが表示されます。ADO.NET の接続プールの概念は理解していますが、テストでは、接続が確立されてからブラウザーが閉じられた後、ms sql 2005 サーバーで接続が「スリープ」のままになっていることがわかりました。接続文字列で接続の有効期間を制限しようとしましたが、これは効果がありません。接続の最大数をプッシュする必要がありますか? 本当の問題を完全に誤診してしまったのでしょうか?
c# - SqlConnection が破棄/閉じられないのはなぜですか?
メソッドを考えると:
呼び出し元のメソッドがスコープ外になった後、または sqlc に参照がなくなった後、sqlc (SqlConnection) が破棄/クローズされないのはなぜですか?
EDIT 1: 使用してラップしても、使用して接続を確認できます(接続プールをオフにしています):
EDIT 2: here から得た助けを借りて、さらにデバッグを行ってください-答えは、誰かがプールで接続文字列をハードコーディングしたことでした。助けてくれてありがとう - できれば、すべての回答を回答としてマークします。
c# - 静的シングルトン オブジェクトとしての SqlConnection
私はこのようなコードを見て、それは間違っていると叫びます! ASP.NET (2.0) 用です。それが間違っていることは理解しています。
1 つは SqlConnection を開いて返すべきではなく、2 つはなぜ静的な SqlConnection を作成するのでしょうか。複数の人が同時に使用しようとすると、問題が発生しませんか?
c# - 関連する SqlConnection が破棄される場合、SqlCommand.Dispose() は必要ですか?
私は通常、次のようなコードを使用します。
command
自動的に廃棄されますか? using
またはそうではなく、ブロックにラップする必要がありますか? 処分する必要はありSqlCommand
ますか?
sql - SqlCommandが実行されてタイムアウトした場合、それぞれのSqlConnectionは閉じられているか、破棄されていますか?
SqlCommandが実行されてタイムアウトした場合、それぞれのSqlConnectionは閉じられているか、破棄されていますか?
sql-server-2008 - TransactionScope の質問 - DTC がこれに関与しないようにするにはどうすればよいですか?
(DTC を取り巻く状況と取引の促進は、知らない人にとっては少し不可思議なことかもしれませんが、私の会社がどのように物事を行っているかをお見せしましょう。また、DTC が関与している理由を教えていただければ幸いです。 、可能であれば、それを回避するために何ができるか、感謝します.)
ASP.Net Web サーバーでコードを実行しています。データベースは 1 つ、SQL 2008 です。
データ アクセス コードは次のようになります。SQLConnections と SQLCommands のラッパー オブジェクトを使用するデータ アクセス層があります。典型的な使用法は次のようになります。
実際、SqlClient、SqlConnection などの非常に薄いラッパーです。トランザクションでいくつかのストアド プロシージャを実行したいのですが、ラッパー クラスでは SqlTransaction にアクセスできないため、あるコンポーネントから次のコンポーネントに渡すことができません。 . これにより、TransactionScope を使用するようになりました。
これを行うと、DTC が関与します。残念ながら、私たちの Web サーバーでは、MSDTC 設定で「リモート クライアントを許可する」が有効になっていません。
DTC の関与を避けたいのですが、できますか? Methods1-3() のトランザクション呼び出しを省略して、TransactionScope にすべてを理解させることはできますか?
asp.net - 偽装: ASP.Net MVC コントローラー アクションと Web フォームの比較
ASP.Net MVC コントローラー アクションと ASP.Net Web フォームの偽装に違いはありますか? 同じ Web プロジェクト内でまったく同じコードを使用すると、コントローラー アクションからではなく Web フォームから SQL Server に接続するときに、Windows ユーザーの偽装に成功しました。それぞれからテストしているコードサンプルを次に示します。
コントローラーと Web フォームの両方で HttpContext ユーザーを確認しましたが、同じように見えます。ただし、SQL トレースを実行すると、コントローラー アクションは常にネットワーク サービスとして実行され、Web フォームはユーザーとして実行されます。これら2つの動作が異なる理由と、コントローラーアクション内で偽装する方法についての説明をいただければ幸いです。
java - C#SqlConnectionおよびデータアクセス層のJavaアナログ(私の試み)
私はJavaデータアクセスを使用しようとしているので、これは私が思いついたものです:
これについてどう思いますか
(C#のSqlConnectionに少し似ています)
こんな感じで使うと思います