Websphere: внедрить команду ALTER SESSION в соединение с источником данных - PullRequest
0 голосов
/ 22 октября 2018

На наших машинах разработки мы используем Websphere Apllication Server Liberty для доступа к базе данных Oracle.Чтобы настроить сортировку без учета регистра или без учета акцента, мы настраиваем сеанс источника данных файла server.xml следующим образом:

<dataSource id="MyDS" jndiName="jdbc/MyDS" type="javax.sql.DataSource">
    <jdbcDriver javax.sql.DataSource="oracle.jdbc.pool.OracleDataSource" libraryRef="OracleJDBC"/>
    <connectionManager maxPoolSize="10" minPoolSize="2"/>
    <properties.oracle URL="jdbc:oracle:thin:@xx.xxx.xxx.xxx:1521:database" password="..." user="..." />

    <onConnect>ALTER SESSION SET nls_sort = binary_ai</onConnect>
    <onConnect>ALTER SESSION SET nls_comp = linguistic</onConnect>

</dataSource>

В производственных машинах мы используем Websphere Apllication Server.Для настройки конфигурации источника данных необходимо перейти на административную консоль, Ресурсы> JDBC> Источники данных.Хотя мне удалось подключиться к источнику данных, я не смог найти способ ввести эти команды ALTER SESSION выше.

Я подозреваю, что мне нужно добавить новое свойство на странице пользовательских свойств.Я попытался добавить свойство onConnect с обеими командами (разделенными ';'), но это не сработало.Даже погуглив, я не смог найти удовлетворительного ответа.

Кто-нибудь знает, как сделать эту конфигурацию?

Спасибо,

Рафаэль Афонсо

Ответы [ 3 ]

0 голосов
/ 22 октября 2018

Алекс:

Я попробовал ваше предложение.На рисунке ниже я добавил эту команду:

ALTER SESSION SET nls_sort = binary_ai; ALTER SESSION SET nls_comp = linguistic; commit;

Data source configuration

Однако, когда я запустил свое приложение, это не имело никакого значения.Кроме того, как мы видим на изображении, раздел Validation by SQL query устарел.

0 голосов
/ 23 октября 2018

Ответ, который дал Алекс, - это самый простой способ сделать это в традиционном WebSphere Application Server.Для полноты картины я хотел бы отметить, что есть еще один способ сделать это в традиционном WebSphere Application Server, который заключается в определении пользовательского помощника хранилища данных и переопределении метода doConnectionSetup длявыполнить нужные команды SQL.Этот подход может быть необходим, если не удается указать несколько команд SQL в атрибуте Validation by SQL query.В этом случае оставьте Validation by SQL query пустым и не выбирайте ни один из параметров validate new connections или Validate existing pooled connections.

0 голосов
/ 22 октября 2018

Чтобы сделать это в WebSphere Traditional, перейдите на WebSphere Application Server data source properties в Additional Properties и отметьте validate new connections.Укажите свои операторы SQL в разделе Validation by SQL query.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...