问题标签 [r-dbi]
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.
sql - 如何从 SQLite 将 14 位整数列导入 R
我有一个 SQLite 表,其中包含一个 DATETIME 列,以自纪元以来的毫秒数表示。那是一个 14 位的整数。我使用以下命令将表导入 R
但是我的列被导入为 32 位整数列(最多 10 位),后果很严重。
我应该如何指定列的目标文件类型?
sql - ROracle 中的 fetch 问题
我在使用 ROracle 检索大量数据时遇到问题(我对 Oracle 数据库拥有只读权限)由于所涉及的数据超过 4 个演出,我无法使用 ROracle 中完美运行的 dbGetQuery。
相反,我正在尝试使用 dbSendQuery + fetch,但它似乎不适用于 Oracle。(它与 RmySQL 包完美配合)
例如 :
使用我的 Oracle 版本:
如果我尝试:
[1] 1 13
[1] 1
但我希望得到10行......
然后再次获取:
[1] 1 13
[1] 1
因此,没有提取下一行并查看“测试”的结果,我可以看到它只填充了零(这是不对的 + 第一次 fetch 调用不是这种情况)
你看到任何替代/解决方案吗?
r - 如何使用自动生成的字段附加到 R 中的 SQLite 表
这是与此问题类似的问题,但我不希望用 NA 填充缺失的列,因为缺失的列具有有意义的默认值,包括主键。
我正在尝试从 R 附加到 SQLite 表,其中该表具有一些自动生成的字段,特别是主键和两个时间戳值。第一个时间戳是创建日期,第二个时间戳是修改日期。
这是表结构:
当我尝试使用 MySQL 做完全相同的事情时,会dbWriteTable
自动处理缺失列的默认值,并正确填充主键和 created_date(并且它会自动匹配列的顺序)。
如何使用 RSQLite 包实现相同的行为?我不确定我的数据库配置是否不正确,或者我是否需要在 R 中执行一些附加步骤?
NA
我尝试使用&预先填充缺少的字段'null'
,但在这两种情况下我都会收到错误消息:
并且数据不会被写入。
r - 在 CentOS 6.5 而不是 Windows 7 上使用 RPostgreSQL 和 RJDBC 的 dbSendQuery 出错
我在 AWS 上托管的 CentOS 6.5 机器上遇到了一个奇怪的问题,而我的 Windows 机器上没有。
发送大型 dbSendQuery(超过 15,000 个字节/字符的字符串)时,我收到错误消息。对于较小的查询,它运行良好。
最初,我认为这是我的 Postgres 安装的问题,所以我更新到 9.4,但 RPostgreSQL 仍然出现同样的错误。我的下一个想法是这是一个 SSL 问题,所以我尝试使用带有 sslmode=disable 标志的 RJDBC,但这也不起作用。
这是 RPostgreSQL 的错误消息:
这是 RJDBC 的错误:
这是我的 CentOS 6.5 上的 sessioninfo()
这是 Windows 7 上的 sessionInfo():
我会附上一个导致这些错误的示例 dbSendQuery() 查询,但由于它们是 15,000 个字符,我不确定这是一个好主意。这个用例是自动生成一个 CREATE TABLE 语句,在我的例子中是 500++ 列。在我的 Windows 机器上,它在半秒内发送查询,而在 Redshift 端,几乎立即创建表,因此查询花费太多时间(并且超时..?)没有问题
谢谢!
mysql - 保留 MySQL 连接
我有一个并行进程,可以创建和关闭许多 MySQL 连接。每个进程在任何给定时间只建立一个连接。通常,在进程中间(并且未建立连接)时,会建立另一个外部连接,这样进程就无法连接,因为已超过最大连接数。
我想知道在我的过程中是否有办法签出或保留连接。我正在访问的 MySQL 服务器分配的最大连接数为 50,而我的用户可以有 25 个,所以我想“保留”25 个连接。
理想情况下,在流程开始时,我会检查可用的连接数,并使用 25(我的用户最大值)或可用的最大值。
r - ROracle dbwritetable /* 追加 */
我正在使用 ROracle 的 dbWriteTable 对大量数据进行 ETL(提取转换和加载),但我不熟悉该函数的内部结构以及它如何附加到表中。
具体来说,我想知道在插入表时是否可以发送 Oracle 提示“/*+ APPEND *”。
我一直在开发 oracle 实例上练习我的大数据插入,并且我不断填充数据库存档日志,并且不想在将这些数据移动到生产中时做同样的事情。
我已经运行了诸如“ALTER TABLE t1 NOLOGGING;”之类的 sql 语句。为了关闭日志记录,但 Oracle 需要额外的 APPEND oracle 提示才能真正关闭日志记录。
此外,我试图避免在此过程中关闭整个数据库的归档日志记录,因为还有其他生产系统使用此数据库。
r - RMySQL 如何读取 ~/.my.cnf?
我注意到 RMySQL 允许用户在 中指定连接“组” ~/.my.cnf
,但是在扫描github repo之后,我看不到该文件(或/etc/.my.cnf
)在哪里(或如何)被读取/解析...
谁能解释这是怎么回事?我想在我自己的一个包中模仿这个功能,所以我试图以此为起点。
r - 在 R 中(优雅地)终止 MonetDB 进程
我在各种平台(例如 OS X 和 Linux Centos)上使用 MonetDB 和一个闪亮的应用程序。
总是很难断开数据库,所以目前我的方法是在不断开数据库的情况下终止闪亮的应用程序。
这意味着闪亮的应用程序在访问数据之前会尝试通过以下方式停止任何“旧”进程:
从命令的来源我了解到它基本上会杀死与pid
提供的相关的进程(这意味着运行应用程序的用户必须有权访问该kill
函数)。
有时这可以正常工作,但有时当我尝试再次启动 MonetDB 时,我得到
有没有办法避免这个错误(我在闪亮时使用它时不强制断开数据库)?
r - RMySQL::dbListConnections 不再存在?
所以,我刚刚开始搞乱 RMySQL 的开发版本——v.0.11.0.9000——我注意到在尝试检查我是否有任何打开的连接时——使用DBI v.0.3.1.9008—— - 我得到错误:
表明它RMySQL
不再扩展dbListConnections
其驱动程序(请原谅我的临时行话)......我是否正确地解释了这一点,因为我们不再需要清理我们的数据库连接?
如果没有,我们应该如何清理自己?