R JDBC 错误 "Unable to retrieve JDBC result set for insert into ..."
R JDBC error "Unable to retrieve JDBC result set for insert into ..."
我正在尝试将 R data.frame 写入 Netezza table。它有大约 55K 行,我已将 4GB 设置为 Java (options(java.parameters = "-Xmx4096m"))
的内存限制
查询:
insert into MY_TABLE_NAME select * from external 'csv_file_containing_data_frame.csv' using (delim ',' remotesource 'jdbc');
上面的 SQL 行 没有任何问题,当我 运行 它来自像 DbVisualizer 这样的工具时,但是当我尝试时出现以下错误从 RStudio 到 运行 它。
R代码:
driver <- JDBC(driverClass="org.netezza.Driver", classPath = "drivers//nzjdbc.jar", "'")
connWrite <- dbConnect(driver, "jdbc:netezza://DB_SERVER:1234//DB_NAME", username, password)
str_insert_query <- paste(
"insert into MY_TABLE select * from external '", OutputFile , "' using (delim ',' remotesource 'jdbc');", sep = ""
dbSendQuery(connWrite, str_insert_query[1])
dbDisconnect(connWrite)
错误信息:
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for insert into MY_TABLE select * from external 'C:/.../csv_file_containing_data_frame.csv' using (delim ',' remotesource 'jdbc'); (netezza.bad.query.result)
- dbWriteTable 可以工作,但速度太慢,无法使用。
- 试图将 dbSendQuery() 的结果分配给一个变量,但它
没用。
任何帮助将不胜感激。谢谢!
需要使用dbSendUpdate.
dbSendUpdate(connWrite, str_insert_query[1])
我正在尝试将 R data.frame 写入 Netezza table。它有大约 55K 行,我已将 4GB 设置为 Java (options(java.parameters = "-Xmx4096m"))
的内存限制查询:
insert into MY_TABLE_NAME select * from external 'csv_file_containing_data_frame.csv' using (delim ',' remotesource 'jdbc');
上面的 SQL 行 没有任何问题,当我 运行 它来自像 DbVisualizer 这样的工具时,但是当我尝试时出现以下错误从 RStudio 到 运行 它。
R代码:
driver <- JDBC(driverClass="org.netezza.Driver", classPath = "drivers//nzjdbc.jar", "'")
connWrite <- dbConnect(driver, "jdbc:netezza://DB_SERVER:1234//DB_NAME", username, password)
str_insert_query <- paste(
"insert into MY_TABLE select * from external '", OutputFile , "' using (delim ',' remotesource 'jdbc');", sep = ""
dbSendQuery(connWrite, str_insert_query[1])
dbDisconnect(connWrite)
错误信息:
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for insert into MY_TABLE select * from external 'C:/.../csv_file_containing_data_frame.csv' using (delim ',' remotesource 'jdbc'); (netezza.bad.query.result)
- dbWriteTable 可以工作,但速度太慢,无法使用。
- 试图将 dbSendQuery() 的结果分配给一个变量,但它 没用。
任何帮助将不胜感激。谢谢!
需要使用dbSendUpdate.
dbSendUpdate(connWrite, str_insert_query[1])