Java SqlExceptionHelper:具有聚集列存储索引的表不支持游标
我正试图通过Java SqlExceptionHelper:具有聚集列存储索引的表不支持游标,java,sql-server,jdbc,clustered-index,Java,Sql Server,Jdbc,Clustered Index,我正试图通过flume将数据从使用集群列存储索引的DWH SQL server表导入kudu。但是,在我的自定义flumesource从数据库检索到一定数量的行后,会发生以下异常: SqlExceptionHelper:具有聚集列存储索引的表不支持游标 我使用的是JDBCSQLServer驱动程序类型4,显然它使用游标来迭代结果集。因此,我尝试将fetch size设置为查询限制的数字,但没有任何更改 如何阻止JDBC驱动程序使用游标,从而将所有行导入kudu表 提前感谢。尝试在连接属性中设置s
flume
将数据从使用集群列存储索引的DWH SQL server表导入kudu
。但是,在我的自定义flume
source从数据库检索到一定数量的行后,会发生以下异常:
SqlExceptionHelper:具有聚集列存储索引的表不支持游标
我使用的是JDBCSQLServer驱动程序类型4,显然它使用游标来迭代结果集。因此,我尝试将fetch size设置为查询限制的数字,但没有任何更改
如何阻止JDBC驱动程序使用游标,从而将所有行导入kudu
表
提前感谢。尝试在连接属性中设置
selectmethod=direct
:
如果设置为direct(默认设置),则数据库服务器在响应查询时会在单个响应中将完整的结果集发送给驱动程序如果请求的结果集类型是仅向前的结果集,则不会创建服务器端数据库游标。通常,驱动程序不会缓存响应。使用此方法,驱动程序必须在提交另一个查询之前处理对查询的整个响应。如果提交了另一个查询(例如,在同一连接上使用不同的语句),则驱动程序会在提交第二个查询之前缓存对第一个查询的响应。通常,直接方法的性能优于游标方法
当然,您需要定义结果集来保证这一点。非常感谢!成功了。