将perl连接到SQL Server管理2012

时间:2014-02-06 11:43:19

标签: sql-server perl

我是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

请指导我......

1 个答案:

答案 0 :(得分:0)

您的代码没有任何问题。如果您有use strictuse 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一样。这将有助于其他人阅读您的代码。