簡體   English   中英

Perl中的SQLite連接字符串

[英]Sqlite connection string in perl

我在Perl中使用下面的sqlite連接字符串來連接sqlite數據庫並得到以下錯誤

無法設置DBI :: db = HASH(0x2c34194)-> {PRAGMA journal_mode}:無法識別的屬性名稱或無效值

my $driver   = "SQLite"; 
my $database = "C:\\Sample\\Sample_Sqlite\\Activities.db3;PRAGMA journal_mode=WAL;";

my $dsn = "DBI:$driver:dbname=$database";
print $dsn;
my $dbh = DBI->connect(          
    $dsn,                          
    { RaiseError => 1 },         
) or die $DBI::errstr;

閱讀DBD :: SQLite文檔中有關PRAGMA的部分 ,似乎您在錯誤的時間設置了PRAGMA。 它不應該是連接字符串的一部分,而應該是連接后運行的SQL命令。

my $driver   = "SQLite"; 
my $database = "C:\\Sample\\Sample_Sqlite\\Activities.db3";

my $dsn = "DBI:$driver:dbname=$database";
print $dsn;
my $dbh = DBI->connect(          
    $dsn,                          
    { RaiseError => 1 },         
) or die $DBI::errstr;

$dbh->do('PRAGMA journal_mode=WAL');

更新:可能還值得注意的是journal_mode設置是持久的。 因此,您只需要設置一次,然后就可以從連接代碼中完全刪除它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM