1

我一直在尝试执行一个非常长的 SQL 查询并将结果放入 R 中的数据框中。但是以下行会引发错误并在控制台中显示部分查询(截断它)

my_dataframe <- dbGetQuery(conn, my_large_query)

查询的长度为 10564 个字符,其中我使用了很多 CTE。dbGetQuery我已经通过 R Studio 中的选项菜单删除了字符串截断,但我想知道R 中的函数是否存在字符限制?

有什么建议么?

  • RDMBS:DB2(在 IBM AS400 上),
  • R 包:DBI(库 - RJDBC)
4

1 回答 1

3

您提到了更改“字符串截断”,但是怎么样warning.length

options("warning.length"={integer})

我还建议您首先在数据库可用的任何 GUI 中测试查询。当您验证查询没有问题时,然后在 R 中运行它。

当 dbGetQuery(假设是 DBI 包)抛出 sql/database 错误时,直到查询全文之后才会显示错误的实际内容。换句话说,如果查询文本在 R 错误输出中被截断,则数据库错误代码/文本将根本不可见。问题可能非常简单,例如不匹配的括号或缺少逗号。

请注意错误消息是以Error in dbGetQuery(R issue) 还是Error in .verify.JDBC.result(database issue) 开头。

于 2017-09-12T00:27:47.780 回答