in reply to Re: Setting CommandTimeout
in thread Setting CommandTimeout

When you run

$RS = $Conn->Execute( $sql,CommandTimeout=120);

you get an error

Can't modify constant item in scalar assignment But the line $Conn->CommandTimeout ( 120 );

Worked when compiling. But still did not change the CommandTimeout value.

<%@ LANGUAGE = PerlScript%> <html> <body> <% $Conn = $Server->CreateObject("ADODB.Connection"); $Conn->Open( "Provider=SQLOLEDB;User ID=user;Password=pswd;Initial Cat +alog=db;Data Source=server" ); $Conn->CommandTimeout(120); %> Command Timeout is now =<% =$Conn->CommandTimeout%> <% $RS = $Conn->Execute( "SELECT 19000000+max(yymmdd) FROM tehachapi. +.bso688d" ); $yymmdd=$RS->Fields(0)->{Value}; $RS->Close; $Conn->Close; %>

This is what the is printed

Command Timeout is now =30

Replies are listed 'Best First'.
Re^3: Setting CommandTimeout
by amitvalia (Novice) on May 05, 2016 at 22:40 UTC
    I meant to say

    $Conn->CommandTimeout(120)

    Didnt give a compile error. But it didn't set the commandtimeout value either.

      I think you are running into some weirdness of the CommandTimeout property, as described in msdn.

      The CommandTimeout setting on a Connection object has no effect on the CommandTimeout setting on a Command object on the same Connection; that is, the Command object's CommandTimeout property does not inherit the value of the Connection object's CommandTimeout value.

      I suggest you create a command object, assign the Connecttimeout to the command, then execute the SQL from there.
      See this VBA discussion of the failure of CommandTiemout.

              This is not an optical illusion, it just looks like one.