有人能告诉我如何从perl访问sqlite3数据库吗?
代码
use DBI;
use DBD::SQLite;
my $dbh = DBI->connect(
"dbi:SQLite:dbname=/cbilldata/media/database/collector.db","",""
) or die "Cannot connect: $DBI::errstr";
返回错误
connect('dbname=/cbilldata/media/database/collector.db','&
我的数据库已经损坏了。在命令行中,我键入
PRAGMA integrity_check
并返回sqlite
On tree page 441 cell 17: Rowid 205 out of order (min less than parent max of 12258)
On tree page 26 cell 12: 2nd reference to page 441
On tree page 26 cell 12: Child page depth differs
On tree page 26 cell 13: Child page depth differs
Page 65 is
我收到数据库损坏的SQLITE_CORRUPT错误。
wrong # of entries in index sqlite_autoindex_Settings_1
在我的代码中,我有一个try/finally子句,在这个子句中,我总是尝试sqlite3_finalize我的语句。
显然,在一个损坏的数据库上,试图完成语句时会再次引发SQLITE_CORRUPT。
问:如果数据库被报告损坏,我应该完成我的语句吗?
在用fsck解决了启动时重复的崩溃之后,我注意到一些文件被删除了,其中一个是sqlite数据库,所以现在当我运行pkg install somepackage时,我得到了这个错误:
pkg: sqlite: file is encrypted or not a databse
所以我的问题其实是双重的:
如何让pkg再次运行?
有办法(原木)吗?要找出用fsck工具删除了哪些文件?
我正在制作一个UWP,其中我需要访问一个数据库。为此,我首先从以下链接下载并安装了平台:
完成此操作后,我将其添加为引用,并将其包含在代码中:
#include <sqlite3.h> //Not sure if I need to make any other changes for this to work
要排除故障,我只有一个按钮和一个文本框。这是单击按钮时运行的代码:
int rc;
sqlite3 *testDB;
if (SQLITE_OK == (rc = sqlite3_open("signers.db", &t