IntelliJ无法识别CallableStatement字符串中的架构名称

时间:2020-01-06 00:26:00

标签: java intellij-idea

我有一个

这样的CallableStatement
CallableStatement cStmt = connection.prepareCall("{ ? = call schemaName.doSomethingFunction(?) }"));

IntelliJ在编辑器“无法解析符号'schemaName'”中显示错误。虽然代码执行正常,但我想删除此错误。 我在intelliJ中也有针对此架构的数据源设置。如下所示从CallableStatement中删除schemaName,使编辑器变为绿色

CallableStatement cStmt = connection.prepareCall("{ ? = call doSomethingFunction(?) }"));

关于我错过了哪些设置的任何提示?

2 个答案:

答案 0 :(得分:1)

您需要为此项目configure the data sourcesynchronize进行操作,以便在Database tool window中为此数据源看到此架构和该功能: enter image description here

答案 1 :(得分:0)

假设您要注册INOUT参数,这应该可以工作:

CallableStatement cStmt = connection.prepareCall("{ call schemaName.doSomethingFunction(?,?) }"));

例如:您可以注册参数,假设第一个是IN参数,第二个是OUT参数:

cStmt.setInt(1, 3);
cStmt.registerOutParameter(2, java.sql.Types.VARCHAR);