Как установить текущую схему для DB2 с помощью Hibernate / JDBC?

Я использовал currentSchema=MYSCHEMA; в моем URL-соединении JDBC, но версия DB2, которую мы используем, больше не поддерживает это, показывая ошибку "свойство" currentSchema "не разрешено на целевом сервере". Я пробовал использовать hibernate.default_schema, но это не автоматическое добавление схемы к моим именам таблиц. Я не хочу устанавливать схему на каждую аннотацию @Table, так как мне нужно будет изменить ее между тестом и производством. Есть ли другой способ установить соединение или через Спячка?

Update: это, должно быть, проблема с версией драйвера. Я обновился до более поздних драйверов, и currentSchema работал.

3 ответов


все свойства для 9.7 (последней) БД находятся здесь...

https://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.apdv.java.doc/doc/r0052607.html

использование:

currentSchema

задает имя схемы по умолчанию, используемое для квалификации неквалифицированных объектов базы данных в динамически подготовленных инструкциях SQL. Значение этого свойства задает значение в текущем Специальный регистр схемы на сервере базы данных. Имя схемы зависит от регистра и должно быть указано в верхнем регистре.


с драйвером DB2 JDBC type 4 ( com.компания IBM.в DB2.СКК.DB2Driver), Я использую этот URL для подключения:

jdbc:db2://<HOST>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;

источник: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/rjvdsprp.htm


каков URL-адрес для подключения к базе данных на AS400 с помощью com-драйвера.ibm.as400.доступ.AS400JDBCDriver ' ... 'currentSchema', включенный в URL, в этом случае не работает...