R中的dbGetQuery截断SQL查询的长度(长度为10564个字符)

时间:2017-09-11 23:48:29

标签: sql r db2 r-dbi

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

my_dataframe <- dbGetQuery(conn, my_large_query)

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

有什么建议吗?

  • RDMBS:DB2(在IBM AS400上),
  • R套餐:DBI(图书馆 - RJDBC)

1 个答案:

答案 0 :(得分:1)

您提到更改了&#39;字符串截断&#39;,但是如何warning.length

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

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

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

请注意错误消息是以Error in dbGetQuery(R问题)还是Error in .verify.JDBC.result(数据库问题)开头。