SqlServerとC#の連携問題 タイムアウト
C#+SqlServerでC/Sアプリを作りました。
しかし、現在下記の問題があります。
ご存知の方いらっしゃいましたら、教えてください。
クライアント側はデータをサーバー側に送信します。
サーバー側はデータを受信しながらSqlServerに保存します。
軽量のデータでやるなら、問題は出ません。
しかし、8GBのデータでやると、その途中、いつも下記のエラーが出ます。
Class:11
Index #0
Message: タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。
LineNumber: 0
Source: .Net SqlClient Data Provider
Procedure:
System.Data.SqlClient.SqlException: タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。
場所 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
場所 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
場所 System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
場所 System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
場所 System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
場所 System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
場所 System.Data.SqlClient.TdsParserStateObject.ReadByte()
場所 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
場所 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
場所 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
場所 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
場所 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
場所 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
場所 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
場所 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
場所 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
場所 System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicInsert(TrackedObject item)
場所 System.Data.Linq.ChangeDirector.StandardChangeDirector.Insert(TrackedObject item)
場所 System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
場所 System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
場所 System.Data.Linq.DataContext.SubmitChanges()
その他:
SqlServer2008 R2
C# .Net3.5
WindowsServer2008 R2
お礼
回答ありがとうございました。
補足
>そもそもなぜ System.Data.SqlClient を使いたくないのですか? 使ったらダメと言われたので(汗) >Windows Formを使う場合は System.Data.OleDb で接続できたと思います やはりSystem.Dataを使わないとアクセス出来ないんでしょうか? 多分、上記もダメと言われそうなので(汗)