問題タブ [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.

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

.net - SqlDataReader が閉じられるまで出力パラメーターを取得できない場合、なぜ...?

1)

SqlDataReader が使用されている間、関連付けられた SqlConnection は SqlDataReader を提供するためにビジー状態であり、SqlConnection を閉じる以外の操作は実行できません。これは、SqlDataReader の Close メソッドが呼び出されるまでのケースです。たとえば、Close を呼び出すまで、出力パラメーターを取得することはできません。

上記の主張が真である場合、リーダーが閉じられる前に、次のメソッドが出力パラメーターから値を取得できるのはなぜですか。

2)

CommandText プロパティをリセットして、SqlCommand オブジェクトを再利用できます。ただし、新しいコマンドまたは前のコマンドを実行する前に、SqlDataReader を閉じる必要があります。

新しいコマンドを実行する前に sqldatareader を閉じる必要があるのはなぜですか?

ありがとう

0 投票する
5 に答える
10209 参照

c# - SqlConnection を既に閉じている場合、SqlDataReader を閉じる/破棄する必要がありますか?

This questionに気づきましたが、私の質問はもう少し具体的です。

使用する利点はありますか

それ以外の

同じ接続で複数のコマンドを実行する場合は明らかに重要です。これは、接続を閉じてから再度開くよりもSqlDataReader、接続を閉じる方が効率的であるためです (呼び出しによって接続conn.Close();conn.Open();も解放されます)。

多くの人が、接続リソースを開いたままにしておくことを意味すると主張してSqlDataReaderいますが、それは接続を閉じない場合にのみ当てはまりますか?

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

sqlconnection - 行を挿入/更新する CommandBuilder および SqlTransaction

これを機能させることはできますが、適切に行っていないように感じます。

これを初めて実行すると、意図したとおりに機能し、「thisField」に「doesntExist」が含まれる場所に新しい行が挿入されます

ただし、後で実行すると、主キー「thisField」に違反しているため、重複キーを挿入できないという実行時エラーが発生します。

AcceptChanges を移動したり、Begin/EndEdit 内で変更をカプセル化したりする試行錯誤を通じてそれを機能させることができたとしても、「同時実行違反」が発生し始め、変更が更新されず、失敗したことがわかります。影響を受ける 1 行の 0 行を更新します。

私が見逃している明らかなものはありますか?

0 投票する
4 に答える
1603 参照

asp.net - asp.netでsqlconnectionを閉じる方法

このasp.netコードに何か問題があるかどうか知りたいです:

「MyDataReader.Close()」を呼び出さないようにすると、接続は閉じますか? 「MyConn.Close」を呼び出すと、関連するデータリーダーが自動的に閉じられると想定しているため、これを尋ねます...または間違っていますか?

ありがとう

0 投票する
4 に答える
570 参照

.net - SqlConnectionを渡す

TransactionScopeを作成しました。スコープ内で、データベースにさまざまなアイテムが作成および更新されます。このプロセス中に、私はデータベースに対して多くの呼び出しを行います。もともと、TransactionScopeの最初にSqlConnectionを開き、それをDB呼び出しを行った関数に渡し、すべての呼び出しが行われた後、トランザクションがコミットする前に接続を閉じました。これを行うのが良いですか、それとも呼び出しごとに(同じ接続文字列を使用して)接続を開いたり閉じたりする方が良いですか?

0 投票する
3 に答える
34229 参照

c# - SqlConnection がアンビエント TransactionScope トランザクションに自動的に登録されるのはどのような状況ですか?

SqlConnection がトランザクションに「登録」されるとはどういう意味ですか? 接続で実行するコマンドがトランザクションに参加するということですか?

もしそうなら、どのような状況で SqlConnectionがアンビエント TransactionScope トランザクションに自動的に登録されますか?

コード コメントの質問を参照してください。各質問の答えに対する私の推測は、括弧内の各質問に続きます。

シナリオ 1: トランザクション スコープ内で接続を開く

シナリオ 2: 外部で開かれたトランザクション スコープの内部で接続を使用する

0 投票する
2 に答える
11263 参照

php - SQL Server クエリが失敗するのはなぜですか?

上記がコードです。最初の query/fetch_assoc は問題なく動作しますが、次の 2 つのクエリは失敗し、その理由がわかりません。これは、php から表示されるエラー ステートメントです。

警告: mssql_query() [function.mssql-query]: メッセージ: 無効なオブジェクト名 'Issues'。(重大度 16) /srv/www/htdocs/agreement.php の 47 行目

警告: mssql_query() [function.mssql-query]: 一般的な SQL Server エラー: 47 行目の /srv/www/htdocs/agreement.php の SQL Server (重大度 16) からのメッセージを確認してください 警告: mssql_query() [function. mssql-query]: /srv/www/htdocs/agreement.php の 47 行目でクエリが失敗しました

警告: mssql_fetch_assoc(): 指定された引数は、48 行目の /srv/www/htdocs/agreement.php の有効な MS SQL 結果リソースではありません

警告: mssql_query() [function.mssql-query]: メッセージ: オブジェクト名 'software.software_dbo.ApplicationInfo' が無効です。(重大度 16) /srv/www/htdocs/agreement.php の 51 行目

警告: mssql_query() [function.mssql-query]: 一般的な SQL Server エラー: 行 51 の /srv/www/htdocs/agreement.php の SQL Server (重大度 16) からのメッセージを確認してください

警告: mssql_query() [function.mssql-query]: 51 行目の /srv/www/htdocs/agreement.php でクエリが失敗しました

警告: mssql_fetch_assoc(): 指定された引数は、52 行目の /srv/www/htdocs/agreement.php の有効な MS SQL 結果リソースではありません

エラーは明らかに、クエリが実行されていないという事実に集中しています。私のデータベースには、Issues というテーブルと ApplicationInfo というテーブルがあるため、それらが無効なオブジェクトであると表示される理由がわかりません。

0 投票する
2 に答える
1630 参照

sql-server - SQL Server Express へのリモート接続が失敗する

同じインターネット IP アドレスを共有する 2 台のコンピューターがあります。1 台のコンピューターを使用して、もう 1 台の SQL Server データベースにリモート接続できます。ここに私の接続文字列があります:

192.168.1.101 はサーバー、SQLEXPRESSNI は SQL Server インスタンス名、FirstDB はデータベースの名前です。

現在、別のインターネット IP アドレスを持つ別のコンピューターがあります。ローカル エリア ネットワークに属していない 3 台目のコンピューターを使用して、上記のサーバーに接続したいと考えています。現在、その 3 台目のコンピューターにアクセスできないため、(可能であれば) クライアント コンピューターを LAN で再度使用したいと考えています。

動作しません

私は初心者なので、やりたいことはわかっていても、何をしているのかよくわかりません。ローカル IP アドレスではなく SqlConnection オブジェクトにインターネット IP を渡すと、同じネットワーク内のクライアント コンピューターを使用してサーバー コンピューターに正常に接続するにはどうすればよいですか? また、私の最終的な目標は、外部クライアントを使用してサーバーに接続することですが、現在そのコンピューターにアクセスできないことにも注意してください。助けていただければ幸いです。

0 投票する
2 に答える
2714 参照

ado.net - ADO.NET: 単一の SqlConnection で一度に複数のクエリを実行できますか?

みんなどうですか?

今日はとても素朴な質問です。2 つの別個のスレッドに 2 つの異なる SqlCommand を指定するとします。両方の SqlCommand が同じ SqlConnection を使用する場合、同時に実行できますか? SqlConnection はこの動作をブロックしますか? それとも何か...もっと面白いことが起こりますか?

(私は SqlConnections がこの正確な理由で接続文字列によってプールされていると信じていますが、安心が必要です)


これは架空の質問であり、説明した設計で SqlConnection がどのように動作するかを知りたいだけです。

0 投票する
6 に答える
372 参照

.net - ガベージ コレクターが呼び出されたかどうかの検出 (.Net)

SqlConnection を使用する場合は、.Close() を使用するか、SqlConnection を "using" に配置することにより、使用時に常に閉じることが重要です。残念ながら、私を含む人々はそれを忘れがちであり、接続を閉じるのを何度も忘れるか、アプリケーションを使用する人の数が増えるまで、ガベージコレクターがしばらくの間私を救ってくれます.

可能であれば、ガベージ コレクターが SqlConnection を破棄したかどうかを検出する方法を知りたいです。

もう 1 つの方法は、SqlConnection を継承し、その初期化子にタイマーを設定して、クラスを破棄するときに接続が閉じられるまでにかかった時間を確認することです。私はタイマーがあまり好きではありませんが、これを書いているときにアイデアが思い浮かびました。

たぶん、これらすべてに対する 3 番目のさらにスマートな方法があると思います...どの方法をお勧めしますか?