1

ストアド関数を実行してデータセットを埋める vb.net プログラムがあります。ただし、取得される情報の量が原因で、特定のデータベースでタイムアウトになることがあります。

タイムアウトにならないように、クエリのタイムアウトを増やすにはどうすればよいですか?

私のフォームボタンには、機能していない次のコードがあります(それでもタイムアウトし、プログラムエラーが発生します)

Me.1TableAdapter.Connection.ConnectionString = "Data Source=10.0.1.1;Initial Catalog=Database;Persist Security Info=True;User ID=USER;Password=PASSWORD; Connection Timeout = 120"

Me.1TableAdapter.Fill(Me.Dataset.1, TodayDt, TodayEnd)

Me.2TableAdapter.Fill(Me.Dataset.1, TodayDt, TodayEnd)

エラーメッセージが表示されます:

System.Data.SQLClient.SQLException: タイムアウトが発生しました。操作が完了するまでタイムアウト期間が経過したか、サーバーが応答していません。

4

1 に答える 1

11

A connection has a timeout, but so does the command running against the connection. That timeout is for how long to wait just trying to establish the connection. See http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectiontimeout.aspx

So assuming you're using a SqlCommand then set the CommandTimeout property of the command.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout.aspx

于 2013-02-26T19:47:26.447 に答える