タグ付けされた質問 「sqlcommand」

17
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました
モバイルファイルのダウンロードサイトであるWebサイト(1日あたり20000〜60000)に多くのユーザーがいます。私のサーバー(windowsサーバー2008-R2)にリモートアクセスできます。以前に「サーバーが利用できません」というエラー を受け取りましたが、接続タイムアウトエラーが表示されます。 私はこれに精通していません-なぜそれが発生し、どうすれば修正できますか? 完全なエラーは以下のとおりです。 「/」アプリケーションでのサーバーエラー。タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについては、スタックトレースを確認してください。 例外の詳細:System.Data.SqlClient.SqlException:タイムアウトの期限が切れました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました。 ソースエラー: 現在のWeb要求の実行中に未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。 スタックトレース: [SqlException(0x80131904):タイムアウトの期限が切れました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了しました。] System.Data.SqlClient.SqlConnection.OnError(SqlException exception、Boolean breakConnection)+404 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()+412 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior 、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj)+1363 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior runBehavior、String resetOptionsString)+6387741 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、Boolean async)+6389442 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior runBehavior runBehavior runBehavior runBehavior 538 327 NovinMedia.Data.DbObject.RunProcedure(String storedProcName、IDataParameter []パラメータ、Int32&rowsAffected)+209 DataLayer.OnlineUsers.Update_SessionEnd_And_Online(Object Session_End、Boolean Online)+440 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result、String methodName、Boolean sendToPipe)+689 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()+ …

3
SqlConnectionは、どのような状況で自動的にアンビエントTransactionScopeトランザクションに参加しますか?
SqlConnectionがトランザクションに "参加"するとはどういう意味ですか?接続で実行するコマンドがトランザクションに参加するという意味ですか? その場合、どのような状況でSqlConnectionがアンビエントTransactionScope Transactionに自動的に登録されますか? コードのコメントで質問を参照してください。各質問の答えに対する私の推測は、括弧内の各質問の後に続きます。 シナリオ1:トランザクションスコープ内で接続を開く using (TransactionScope scope = new TransactionScope()) using (SqlConnection conn = ConnectToDB()) { // Q1: Is connection automatically enlisted in transaction? (Yes?) // // Q2: If I open (and run commands on) a second connection now, // with an identical connection string, // what, if …

5
.netコードからストアドプロシージャにテーブル値パラメーターを渡す方法
SQL Server 2005データベースがあります。いくつかのプロシージャでは、nvarchar(カンマで区切られた)ストアドプロシージャに渡し、内部で単一の値に分割するテーブルパラメータがあります。これをSQLコマンドパラメータリストに次のように追加します。 cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; データベースをSQL Server 2008に移行する必要があります。テーブル値パラメーターがあり、それらをストアドプロシージャで使用する方法を知っています。しかし、SQLコマンドでパラメーターリストに渡す方法はわかりません。 誰かがParameters.Add手順の正しい構文を知っていますか?または、このパラメーターを渡す別の方法はありますか?

12
パラメータが文字列でない場合、SQLクエリをパラメータ化しないことは安全ですか?
SQLインジェクションに関しては、stringパラメーターをパラメーター化する必要性を完全に理解しています。それは本の中で最も古いトリックの1つです。しかし、いつパラメーター化しないことが正当化できるのSqlCommandでしょうか?パラメータ化しないで「安全」と見なされるデータ型はありますか? たとえば、私はSQLの専門家の近くにいるとは考えていませんが、SQLインジェクションに対して脆弱で、a boolまたはan を受け入れ、それをintクエリに直接連結する可能性があるとは考えられません。 私の仮定は正しいですか、それとも私のプログラムに大きなセキュリティの脆弱性を残す可能性がありますか? 明確にするために、この質問にはタグが付けられています c#これは強く型付けされた言語です。私が言うとき、「パラメータを、」のようなものだと思います public int Query(int id)。

8
破棄される前にSQLConnectionをClose()する必要がありますか?
Disposableオブジェクトに関する他の質問については、usingブロックが終了する前にClose()を呼び出す必要がありますか? using (SqlConnection connection = new SqlConnection()) using (SqlCommand command = new SqlCommand()) { command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)"; command.CommandType = System.Data.CommandType.Text; connection.Open(); command.ExecuteNonQuery(); // Is this call necessary? connection.Close(); }

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.