[英]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.