Как установить текущую схему для DB2 с использованием Hibernate / JDBC? - PullRequest
13 голосов
/ 02 июня 2010

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

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

Ответы [ 3 ]

32 голосов
/ 04 июня 2012

С драйвером DB2 JDBC типа 4 ( com.ibm.db2.jcc.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

5 голосов
/ 02 июня 2010

Все свойства для 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. Значение этого свойства устанавливает значение в специальном регистре CURRENT SCHEMA на сервере базы данных. Имя схемы чувствительно к регистру и должно указываться прописными буквами.

0 голосов
/ 02 августа 2012

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

...