Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring SimpleJDBCall如何在存储过程调用中为oracle结构指定模式_Java_Database_Spring_Oracle - Fatal编程技术网

Java Spring SimpleJDBCall如何在存储过程调用中为oracle结构指定模式

Java Spring SimpleJDBCall如何在存储过程调用中为oracle结构指定模式,java,database,spring,oracle,Java,Database,Spring,Oracle,我试图调用默认架构下不存在的存储过程。该过程将oracle结构作为参数。过程和oracle结构都位于同一架构下:OTHERSCHEMA 这是我的密码: SimpleJdbcCall createMyCall = new SimpleJdbcCall(dataSource) .withSchemaName("OTHERSCHEMA") .withProcedureName("PROC_THEPROC") .declareParameters(new SqlParameter("Para

我试图调用默认架构下不存在的存储过程。该过程将oracle结构作为参数。过程和oracle结构都位于同一架构下:OTHERSCHEMA

这是我的密码:

SimpleJdbcCall createMyCall = new SimpleJdbcCall(dataSource)
  .withSchemaName("OTHERSCHEMA")
  .withProcedureName("PROC_THEPROC")
  .declareParameters(new SqlParameter("Param_in", OracleTypes.STRUCT, "OTHERSCHEMA.MYTYPE"), 
    new SqlOutParameter(Param_out, OracleTypes.NUMBER),
    new SqlOutParameter(ErrorCode_out, OracleTypes.NUMBER));
Map in = Collections.singletonMap("Data_in", myData); 
createMyCall.execute(in);
当我执行此代码时,我得到一个错误:

org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; 
uncategorized SQLException for SQL [{call OTHERSCHEMA.PROC_THEPROC(?, ?, ?)}]; SQL state 
[99999]; error code [17074]; invalid name pattern: MYSCHEMA.MYTYPE; nested exception is 
java.sql.SQLException: invalid name pattern: MYSCHEMA.MYTYPE
为什么OTHERSCHEMA.MYTYPE被替换为我的默认模式MYSCHEMA?如能提供一些见解,将不胜感激

更新: 我解决了我的问题。“myData”有一个方法getSQLTypeName(),该方法返回MYSCHEMA.MYTYPE。显然,这将永远
重写传入SimpleJDBCall的内容。Doh

你找到解决办法了吗?