问题标签 [rsqlite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
410 浏览

python - rpy2 rsqlite 加载命名空间(名称)中的错误

我已经在我的 Windows 电脑中正确安装了 rpy2,它似乎工作正常。现在我想在 rpy2 中“翻译”一个 R 例程,但是当我尝试加载特定的 R 库时,我在加载 RSQLite 库时遇到了错误。这是错误消息:

由于我成功加载了其他库,因此关于这样的库和 rpy2 似乎是一个特定问题。请问你能帮帮我吗?谢谢

0 投票
1 回答
711 浏览

r - 无法使用 opencpu 从 sqlite 数据库获取结果

我有一个相对简单的函数来从 sqlite 数据库中提取一些数据:

当我在 R(或 RStudio)中运行此代码时,这对我来说非常好:

但是,我根本没有成功,通过opencpu使用这个函数检索任何数据:

我已经仔细检查了文件是否存在,检查了它的权限,为所有人设置了读/写权限,但一点运气都没有。任何输入将不胜感激。

编辑 1: 尝试了 @Jeroen 对 apparmor 配置建议的更改,但无济于事。将以下行添加到自定义文件中确实有所帮助:

但是,它只帮助我现在得到错误:

RS-DBI 驱动程序:(语句中的错误:数据库已锁定)

通话中: sqliteExecStatement(conn, statement, ...)

这很奇怪,因为当我在 RStudio 中执行完全相同的代码(使用相同的数据库文件)时,我没有收到此错误。

编辑 2:正如 Hadley Wickham ( https://twitter.com/hadleywickham/status/526739851974955008 ) 提出的,我使用 dbGetQuery 简化了函数:

尽管如此,由于我得到完全相同的行为(在 R studio 中工作,发出 curl 命令时给出数据库锁定消息),但无济于事。

编辑 3:实际上它似乎仍然是 AppArmor 问题。我得到:

解决方法:终于找到了。最终这似乎是一个纯粹的 AppArmor 问题。我不得不改变:

(注意 k)以允许文件锁定。

0 投票
1 回答
151 浏览

r - 在 Mac OSX 上创建的 RSQLite db 不在 Windows 上插入数据

我真的被困在这里了。我在 Mac OSX 上创建了一个 SQLite 数据库,现在正尝试在 Windows 上将数据插入其中。我正在使用 RSQLite 库在两个平台上的 R 中进行操作。

我正在尝试从数据框中插入数据x

我尝试以下步骤并收到以下错误消息:

更新:vaettchen 下面的建议使用带有 append=TRUE 的 dbWriteTable 有效,谢谢。但是,dbSendQuery 仍然存在问题,在尝试删除 id=74 的所有条目时,请参阅下面的错误:

感谢任何帮助,它可能只是我看不到的愚蠢的东西。非常感谢。

0 投票
1 回答
476 浏览

r - 从批量插入中获取 last_insert_rowid()

我有一个 sqlite 数据库,我需要将空间信息与元数据一起插入到 R*tree 和随附的常规表中。每个条目都需要在数据库的生命周期内唯一定义。因此,常规表有一个 INTEGER PRIMARY KEY AUTOINCREMENT 列,我的计划是从插入该表开始,提取最后插入的 rowid 并将它们用于插入 R*tree。唉,这似乎不可能:

似乎只保留了最后插入的 rowid(可能出于性能原因)。由于要插入的记录数是几十万,逐行插入是不可行的。

所以问题是:有什么方法可以让last_insert_rowid()我屈服于我的意志?如果不是,最好的故障安全替代方案是什么?一些可能性:

  • 在插入之前记录最高的rowid和'SELECT rowid FROM testTable WHERE rowid > prevRowid'
  • 获取要插入的行数,获取 last_insert_rowid() 并使用seq(to=lastRowid, length.out=nInserts)

虽然以上两个建议至少在直觉上应该有效,但我对 sqlite 没有足够的信心知道它们是否是故障安全的。

0 投票
0 回答
247 浏览

r - 调试 SQLite R*tree

我有一个包含 R*tree 虚拟表的 SQLite 数据库。这张桌子的行为相当奇怪,我不知道出了什么问题。我将不胜感激任何指向我可以调查的方面!

好像还好...

R*tree 表的一般外观

scanEnd 的边界

到目前为止,一切都很好...

记录在哪里?

当比较器达到任意大的数字时,其他列也会发生同样的情况。此行为仅存在于 R*tree 表中 - 常规表工作正常...

我是否偶然发现了我不知道的 R*tree 模块中的约束?R*tree 中的所有记录都来自一个大插入,我没有触及 R*tree 所依赖的基础表......

编辑: 应 CL 的要求,我尝试创建一个可重现的示例。至少在我的系统上,以下会产生具有相同行为的 R*tree:

编辑 2: 可以从以下链接下载使用第一次编辑中给出的命令创建的数据库: https ://dl.dropboxusercontent.com/u/2323585/testdb.sqlite

0 投票
1 回答
3741 浏览

r - 使用 RSQLite 在 R 中加载 SQLite 表

我有这个用来加载 SQLite 表的函数

但是现在它接缝会产生错误

(我从这里下载了数据库)

这是我的功能的错误还是问题?

0 投票
1 回答
2200 浏览

sql - 语句中的错误:没有这样的列,但列存在

我正在使用 RSQLite 来组合两个表。我检查了每一步,但仍然没有弄清楚出了什么问题。这是我的脚本:

0 投票
0 回答
155 浏览

performance - 提升 SQLite 数据库的简单 SELECT 性能

我正在使用一个 SQLite 数据库(1GB+),其中只有一个堆叠的金融刻度时间序列表。我正在使用 RSQLite 包连接到数据库。我的情况很简单:选择从一个日期到另一个日期的数据子集,例如 from 20140101to 20140930。因此查询也很简单:

数据存储在 SSD 上,但读取时间看起来仍然很慢。是否有一些方法或技巧可以提高这种简单子集查询的性能?

该数据库有 14 列并自动索引。

0 投票
1 回答
159 浏览

r - RSQLite:如何做出不相等的声明?

我想发表以下声明:

此语句适用于SQLite Manager,但不适用于RSQLite

请你帮助我好吗?

非常感谢 :)

0 投票
1 回答
303 浏览

database - 如何查找在 SQLite 中创建的数据库

我正在使用此代码将数据从 DB 加载ontime到 R 中的数据框中。

但是,似乎 R 找不到ontime我从 SQLite shell 创建的数据库。

我试图ontime在磁盘上搜索,但没有找到。我还使用select * from ontime命令仔细检查了该数据库是否存在。那么,这个数据库存储在磁盘上的什么位置,我该如何找到它呢?