java - ApacheBeam-Java:MS-SQL - 子查询返回超过 1 个值
问题描述
我对 JdbcIO.read() 有疑问。当我尝试获取所有记录(SELECT * FROM MyTable)时,它会引发以下错误,但当我选择 TOP N 记录(SELECT TOP 100000 * FROM MyTable)时会起作用。源表有超过 1 亿条记录。
任何的意见都将会有帮助。
错误 :
“来自工作人员的错误消息:com.microsoft.sqlserver.jdbc.SQLServerException:子查询返回的值超过 1 个。当子查询遵循 =、!=、<、<=、>、>= 或子查询为用作表达式。com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)"
代码
return pipeline.apply("Get [" + objectDetails.getObjectName() + "]",
JdbcIO.<TableRow>read()
.withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(
"com.microsoft.sqlserver.jdbc.SQLServerDriver",
String.format("jdbc:sqlserver://%1$s:%2$s;DatabaseName=%3$s", databaseDetails.getDatabaseHostName()
, databaseDetails.getPort(), databaseDetails.getDatabaseName()))
.withUsername(databaseDetails.getUserName())
.withPassword(databaseDetails.getPassword()))
.withQuery("SELECT * FROM MyTable")
.withCoder(TableRowJsonCoder.of())
.withRowMapper(rowMapper));
问候, 马赫什
解决方案
推荐阅读
- python - @property 装饰器和@[property name].getter 有什么区别?
- sql - SQL 查询:考虑脚本的标题列部分
- html - 如何更改特定类或 HTML 部分的导航栏链接颜色的颜色?
- html - div元素之间的空白
- javascript - 将数组重构为对象Javascript / Nodejs中的对象列表
- grails - 允许 Grails 4 应用程序在 Jetty (9+) 下运行的最少步骤?
- django - 我在注册表单中的 /accounts/register/ 处有一个 ValueError
- azure - Kubernetes - 如何从“内部负载均衡器”切换到“入口控制器”
- python - Scipy savemat / loadmat - 如何保存一维数组与长度为 1 维的二维数组
- java - 更改 CollectionModel 创建的 json 响应中的单词“内容”