我有一些麻煩,插入從一個SQL函數返回到變量。當我運行下面的代碼(連接字符串是明確工作),我收到以下錯誤:perl腳本與SQL連接字符串看似失敗點(。)
裸詞發現,其中運營商預計將在Script.pl線34, 近「‘SELECT IDENT_CURRENT(’數據庫」 (在Script.pl線34缺少運營商數據庫之前?)語法錯誤,在近線Script.pl「‘SELECT IDENT_CURRENT(’數據庫」 壞名聲表」後34
我成功製備/執行的SQL語句
我試過使用$ dbh-> prepare(「SELECT IDENT_CURRENT('Database.dbo.Table')」)注意t他「」。
然後腳本執行,但是我的變量$ RID只包含-1,這是不正確的。
我在sql server上運行純sql代碼作爲查詢,並且工作得很好。
任何幫助,將不勝感激。
#!/usr/bin/perl
## PERL MODULES
use DBI;
use DBD::ODBC;
use Text::CSV;
use POSIX;
use List::MoreUtils qw(each_array);
no strict "vars";
my $dbh = DBI->connect($data_source, $user, $password, {RaiseError => 0, PrintError => 1}) or die "Can't connect to $data_source: $DBI::errstr";
my $id_return = $dbh->prepare ('SELECT IDENT_CURRENT ('Database.dbo.Table')');
my $RID = $id_return->execute;
print $RID;
這確實可以解決語法錯誤。經過多次測試後,我發現下面的代碼正在工作。 $ query =「SELECT IDENT_CURRENT('dbo.Table')」; $ sth = $ dbh-> prepare($ query); $ sth-> execute(); $ RID = $ sth-> fetchrow(); print $ RID; – HDemaiter