无法使用称为Ataccama的数据治理工具调用Snowflake过程

问题描述 投票:0回答:1

我正在使用一种也称为ATaccama的数据治理,并且我已经在Snowflake中创建了一个SP,但是当我从Ataccama JDBC sql执行组件中调用SP时,却出现错误。但是,我正在为SNOWFLAKE使用最新的JDBC驱动程序:雪花jdbc 3.9.2。非常感谢您的帮助!

ERROR:
net.snowflake.client.jdbc.SnowflakeSQLException: Statement 'call PII.kc11_search...' cannot be executed using current API.
at net.snowflake.client.jdbc.SnowflakePreparedStatementV1.executeBatch(SnowflakePreparedStatementV1.java:937)
at com.ataccama.dqc.internal.commons.sql.AtcPreparedStatement.executeBatch(AtcPreparedStatement.java:307)
at com.ataccama.dqc.io.jdbc.writer.FlatCommitStrategy.executeBatch(FlatCommitStrategy.java:115)
at com.ataccama.dqc.io.jdbc.writer.BatchWriter.executeBatch(BatchWriter.java:54)
at com.ataccama.dqc.io.jdbc.writer.BatchWriter.flush(BatchWriter.java:98)
at com.ataccama.dqc.tasks.jdbc.execute.SqlExecuteQueryProcessor.finish(SqlExecuteQueryProcessor.java:106)
at com.ataccama.dqc.tasks.jdbc.execute.SQLStepInstanceBase$SimpleProcessingStrategy.run(SQLStepInstanceBase.java:249)
at com.ataccama.dqc.tasks.jdbc.execute.SQLStepInstanceBase.run(SQLStepInstanceBase.java:136)
at com.ataccama.dqc.processor.internal.runner.ComplexStepNode.runNode(ComplexStepNode.java:69)
at com.ataccama.dqc.processor.internal.runner.RunnableNode.run(RunnableNode.java:28)
at com.ataccama.dqc.commons.threads.AsyncExecutor$RunningTask.run(AsyncExecutor.java:131)at java.lang.Thread.run(Thread.java:745)

[[注意:使用-呼叫PII。 Kc11_seach()。]

有什么想法或其他有益的建议吗?

sql jdbc snowflake-data-warehouse
1个回答
0
投票

Snowflake JDBC驱动程序does not currently support执行任何SQL语句,这些语句可能返回值,这是Attacama在后台使用的PreparedStatement::executeBatch(…)调用的一部分。这是因为批处理调用无法处理多个执行的SQL查询中的一个或多个返回的值。

由于CALL PROCEDURE() may return a value,驱动程序将其视为可能生成结果并引发不受支持的语句错误的语句。

要通过Attacama调用过程,请使用其他组件,该组件在下面不使用JDBC的PreparedStatement::executeBatch(…)调用。

© www.soinside.com 2019 - 2024. All rights reserved.