我是perl的新手。我有一个任务连接到SQL Server管理2012并从数据库中打印一个表。你能指导我如何安装所需的所有驱动程序,并告诉我我的代码有什么问题,因为我没有错误,没有必要的输出。
use DBI;
my $host = 'programer'; #servername
my $database = 'DW'; #database name
my $user = 'prg'; #username
my $pwd = 'prg@123'; #password
my $dsn = "dbi:ODBC:Driver={SQL Server};Server=$host;Database=$database";
my $dbh = DBI->connect($dsn, $user, $pwd) or die("database not found");
$query="select * from Banking_AccountSummary_Citibank";
$exe=$dbh->prepare($query) or die("cannot prepapre query");
$exe->execute()or die("cannot execute");
$dbh->disconnect
请指导我......
答案 0 :(得分:0)
您的代码没有任何问题。如果您有use strict
和use warnings
并且您的代码未发出任何警告而且die
没有{。}},则您无需安装任何内容。
您需要做的就是fetch your results并输出它们,或者做您想做的任何事情。
use Data::Dump;
my $exe = $dbh->prepare("select * from Banking_AccountSummary_Citibank")
or die("cannot prepapre query");
$exe->execute()
or die("cannot execute");
while (my $res = $exe->fetchrow_hashref) {
dd $res;
}
有几种方法可以获取数据,fetchrow_hashref
只是其中之一。我建议你阅读documentation of DBI并查看那里给出的例子。
注意:约定是命名语句句柄$sth
,就像数据库句柄名为$dbh
一样。这将有助于其他人阅读您的代码。