簡體   English   中英

SQL Server超時10秒后

[英]SQL Server Timeout after 10 Seconds

我們在C#舊版應用程序中使用OleDbConnection連接到SQL Server 2000,其中

  • 連接字符串包含“連接超時= 5;”
  • 我們將CommandTimeout設置為30秒。

但是,當服務器運行緩慢時,當我們運行命令(在事務中插入一些插入)時,查詢僅在10秒后超時。

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadPacket(Int32 bytesExpected)
   at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
   at System.Data.SqlClient.TdsParserStateObject.ReadByte()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionPreYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction)
   at System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction)
   at System.Data.SqlClient.SqlInternalTransaction.Commit()
   at System.Data.SqlClient.SqlTransaction.Commit()
   [...]

我想念什么? 是否有我沒有設置的超時值,默認為10秒?

我認為這不太可能,因為通常會產生不同的異常,但也許您遇到的默認事務超時時間是10秒。

將以下內容添加到“ app.config”中,並將超時值調整為更大的值:

<system.transactions>
     <defaultSettings timeout="00:10:00"/>  
</system.transactions>

請注意,如果這確實可以解決您的問題,則您可能希望在代碼內指定實際的超時,僅針對所討論的事務(例如,通過使用TransactionScope類的相應選項)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM