Weblogic: вызвать хранимую процедуру DB2 без имени схемы (свойство currentSchema)

У меня есть приложение Java, которое работает на Weblogic. Приложению требуется доступ к хранимой процедуре в базе данных DB2, поэтому источник данных JDBC конфигурируется и доступен по его имени JNDI.

Источник данных:

ClassDriver: com.ibm.db2.jcc.DB2Driver

Properties:
user=MYUSER
DatabaseName=MYDB

Следующий пример работает как ожидалось.

Context env = null;
DataSource pool = null;

Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://myserver:7777");

env = new InitialContext(ht);

pool = (DataSource) env.lookup("jdbc/myjndiname");
conn = pool.getConnection();

// call stored procedure with schema name
String procName = "MYSCHEMA.MYSTOREDPROCEDURE";
String sql = "CALL " + procName + "(?)";
callStmt = conn.prepareCall(sql);

callStmt.setString(1, "1");
callStmt.execute();

Но теперь мне нужно вызвать хранимую процедуру без имени схемы и использовать вместо этого свойство драйвера JDBC.

Источник данных:

ClassDriver: com.ibm.db2.jcc.DB2Driver

Properties:
user=MYUSER
DatabaseName=MYDB
db2.jcc.override.currentSchema=MYSCHEMA
com.ibm.db2.jcc.DB2BaseDataSource.currentSchema=MYSCHEMA 

Следующий вызов SQL приводит к ошибке

// call stored procedure without schema name
String procName = "MYSTOREDPROCEDURE";
String sql = "CALL " + procName + "(?)";
callStmt = conn.prepareCall(sql);

Ошибка SQL:

SQLCODE = -440, ERROR:  NO PROCEDURE BY THE NAME MYSTOREDPROCEDURE HAVING
COMPATIBLE ARGUMENTS WAS FOUND IN THE CURRENT PATH 

Я предполагаю, чтоCurrentSchema» свойства неверны.

Редактировать: Похоже, я был неправ: собственностьcurrentSchema это не проблема! Оператор SQL"select current_schema fromsysibm.sysdummy1" возвращает правильную схему (MYSCHEMA). Вопрос сейчас, почему"CALL MYSCHEMA.MYSTOREDPROCEDURE(?)" работает и"CALL MYSTOREDPROCEDURE(?)" приводит к ошибке ...

Какие-либо предложения? Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос