how to execute procedure (sql server) in perl scripts

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • omakhileshchand
    New Member
    • May 2012
    • 13

    how to execute procedure (sql server) in perl scripts

    Code:
    #!/usr/bin/perl
    
    use DBI;
    
    use Data::Dumper;
    use Asterisk::AGI;
    
    my $agi = new Asterisk::AGI;
    
    $account_number  ='89746123#';
    $call_number ='1234524';
    $service_id  =6;
    
    my $DSN = q/dbi:ODBC:SQLSERVER/;
    my $uid = q/ivr/;
    my $pwd = q/ivr/;
    
    my $DRIVER = "Freetds";
    my $dbh = DBI->connect($DSN,$uid,$pwd) or die "Coudn't Connect SQL";
    
    
                 if ($service_id = 6)
                    {
                    $fund_code1 = 115;
                    $sql=(qq{
                            use Cserver
                            declare \@fund_code as varchar(20),\@acc_no  as varchar(20)
                            exec \[192\.168\.14\.5\]\.\[Msmf\]\.\.usp_get_account_confirm \@fund_code=$fund_code1,\@acc_no=$account_number
                            });
                    }
    
             my $sth = $dbh->prepare($sql);
            $sth->extecute();
            $return = $sth->fetchrow();
            $agi->set_variable('result',$return);
            print Dumper($return);
            $sth->finish;
            $dbh->disconnect;
    whenever i execute above program i got following error:
    Can't locate object method "extecute" via package "DBI::st"

    please help me..
  • RonB
    Recognized Expert Contributor
    • Jun 2009
    • 589

    #2
    There are several problems with your code, but the one related to your error message is line #33.

    As the error message states, it can't find a method called "extecute" and that's because you misspelled it.

    $sth->extecute();

    should be:
    $sth->execute;

    Comment

    Working...