8

我设置了一个到 Netezza(SQL 数据库)的 ODBC 连接。连接很好。但是,R 默认只拉出 256 行,并且限制了它可以拉出的行数。

如果我在 Netezza 中运行查询,它将返回总行数 (300k)。我期望 R 中的行数相同。但是,它仅返回 256 行,与 300k 相比略短。

我使用的驱动程序 NetezzaSQL 版本 7.00.02 NSQLODBC.DLL

我试图从控制面板>管理工具>数据源(OBBC)>系统DNS中的“驱动程序选项”中将预取计数更改为零

它没有用。有任何想法吗?

4

3 回答 3

8

我认为 RODBC 与 Netezza 的表现不佳。一个解决方案http://datamining.togaware.com/survivor/Database_Connection.html

只需添加believeNRows=FALSE到您的sqlQueryodbcConnect调用中(如果您还使用sqlFetch.

于 2013-06-19T01:43:28.270 回答
2

您也可以尝试使用JDBC驱动程序:

library(RJDBC)
drv <- JDBC("org.netezza.Driver", "nzjdbc.jar", "'")

conn <- dbConnect(drv, "jdbc:netezza://host:5480/database", "user", "password")

res <- dbSendQuery(conn, "select * from mytable")

这样您就不必处理 DSN 等。

于 2013-06-19T13:16:56.417 回答
1

我知道这有点过时了,但问题不在于 RODBC 包。问题在于如何设置 ODBC 连接,如果您在 Windows 中配置连接,您将在设置中看到最后一个选项卡,您可以在其中指定它将获取的行数。默认值为 256。

于 2017-12-13T15:35:42.820 回答