3

次のSPは、AccessVBAから実行するとタイムアウトになります。管理コンソールから実行すると正常に動作します。関連する場合、サーバーのping時間は長くなります。

Dim cnn As ADODB.Connection
Dim cmd As New ADODB.Command, rs As New ADODB.Recordset, param As New ADODB.Parameter
Dim fld As ADODB.Field
Dim stMessage As String


Set cnn = New ADODB.Connection
cnn.ConnectionString = "DRIVER=SQL Server;SERVER=server01;DATABASE=db_a;Trusted_Connection=Yes"

cnn.Open cnn.ConnectionString

Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandType = adCmdStoredProc

    cmd.CommandText = "we_ci_db.stprUpdateValuesInitial_A"

    Set param = cmd.CreateParameter("@DataSet", adInteger, adParamInput, , stDataSet)
    cmd.Parameters.Append param

    rs.CursorType = adOpenStatic
    rs.CursorLocation = adUseClient
    rs.LockType = adLockOptimistic

    Set rs = cmd.Execute


exit1:
Set cmd = Nothing
Set rs = Nothing
Exit Function
4

1 に答える 1

3

オブジェクトCommandTimeoutのプロパティを使用してタイムアウトを設定できます。ADODB.Command

// set a very high number of seconds before timeout
cmd.CommandTimeout = 9999999
于 2013-01-20T17:53:32.877 に答える