Sql perl执行权限错误
我有一个perl脚本,使用该脚本连接sqlserver数据库并执行一个存储过程,在本例中,perl scrip给出一个错误 纸条是Sql perl执行权限错误,sql,sql-server,perl,perl-module,Sql,Sql Server,Perl,Perl Module,我有一个perl脚本,使用该脚本连接sqlserver数据库并执行一个存储过程,在本例中,perl scrip给出一个错误 纸条是 use DBI; my $host = 'server'; my $database = 'db'; my $user = 'usr'; my $auth = 'pssword'; # DBD::ADO $dsn = "Provider=sqloledb;Trusted Connection=yes;"; $dsn .= "Server=$host;Database
use DBI;
my $host = 'server';
my $database = 'db';
my $user = 'usr';
my $auth = 'pssword';
# DBD::ADO
$dsn = "Provider=sqloledb;Trusted Connection=yes;";
$dsn .= "Server=$host;Database=$database";
my $dbh = DBI->connect("dbi:ADO:$dsn",
$user,
$auth,
{ RaiseError => 1, AutoCommit => 1}
) || die "Database connection not made: $DBI::errstr";
my $sql = "EXEC [dbo].[get_status] '2013-10-31','00',320,'MBM40CASHFLW'";
my $sth = $dbh->prepare($sql);
$sth->execute();
$sth->finish();
$dbh->disconnect();
上面的脚本我使用dbi:ado驱动程序。我在此存储过程中授予完全权限
错误是
DBD::ADO::st execute failed: Can't execute statement 'EXEC [dbo].[sap.get_status_load_data] '2013-10-31','00!',320,'MBMY_FCL_S40CASHFLW''
Lasterror: -2147217871: OLE exception from "Microsoft OLE DB Provider for SQL Server":
Query timeout expired
Win32::OLE(0.1709) error 0x80040e31
in METHOD/PROPERTYGET "Execute"
Description: Query timeout expired
HelpContext: 0
HelpFile:
NativeError: 0
Number: -2147217871
Source: Microsoft OLE DB Provider for SQL Server
SQLState: HYT00 at C:\Users\Administrator\Desktop\temp\testdbconn.pl line 19.
请帮助我……您是否尝试设置超时属性?也许:
{ RaiseError => 1, AutoCommit => 1, ado_ConnectionTimeout => 300, CommandTimeout => 300}
(取决于您当前的超时情况)。那么此查询是否在Perl之外响应?它在其他地方是否通过相同的机制工作?使用sqlcmd,它在工作外部命令,请给出相同的解决方案