Проблема с учетом регистра при запросах к серверу IBM Power

Там, где я работаю, у нас есть IBM Power System, которую мы используем для хранения и доступа к данным. В настоящее время работает под управлением ОС OS 6.1. У нас есть веб-сайт на сервере IIS, который извлекает данные с этого сервера и имеет несколько различных веб-приложений, которые выполняют разные функции. Все они имеют какую-то функцию поиска. Существует проблема с чувствительностью к регистру на двух из этих сайтов.

Вот где это становится немного волосатым. Эта проблема начала возникать только после того, как мы обновили систему с v5r4 до v6r1 в системе IBM. Опять же, это происходит не на всех сайтах (всего их 8, проблема 2). Это очень странно, потому что все они используют одни и те же процедуры ввода-вывода. Веб-сайт был разработан другой стороной, которая может удаленно протестировать нашу базу данных. Они работают под управлением v7r1, и у них не было проблем при использовании сайта с нашей базой данных. Сайт получает доступ к данным через ODBC, и я попытался перенастроить DSN. Один из сотрудников службы поддержки даже попросил меня зарегистрировать их точную конфигурацию ODBC с помощью файла.reg, но все еще ничего. И у них, и у меня закончились идеи, поэтому пока мы обратились к справочной ссылке. Мне довелось работать на другом веб-сайте, который использует тот же сервер для запросов, и соединение ODBC на этом сайте имело такое же поведение... имена и любые другие поля поиска, похоже, чувствительны к регистру. Я знаю, так как я неожиданно обнаружил, что мой сайт не работает, что мой сайт НЕ чувствителен к регистру до обновления v6r1. Мы также используем стороннее приложение для выполнения запросов SQL, и в том же DSN запросы в этом приложении НЕ чувствительны к регистру. Итак, как вы можете видеть, я не могу найти никакой корреляции. Кто-нибудь знает о проблемах с DSN IBM или чувствительности к регистру у серверов / файловых систем IBM, которые могут вызывать это для определенных запросов?

1 ответ

Решение

Если подозреваемый является драйвером ODBC, проверьте DSN. Выберите вкладку "Язык", а затем выберите тип сортировки "Сортировка по идентификатору языка". Затем выберите свой языковой идентификатор. Значением по умолчанию является "Сортировка на основе значений *HEX".

Если подозреваемым является сервер IBM i, попросите администратора проверить свойство SRTSEQ заданий сервера - вероятно, QZDASOINIT, чтобы установить для него значение *LANGIDSHR. По умолчанию *HEX. Очевидно, что это повлияет на ВСЕ ODBC-доступ к серверу IBM, а не только на ваш доступ. Но если так было до обновления, возможно, было бы лучше вернуть его обратно.

Это могло бы быть более прозрачным, если бы запросы обрабатывали монокейс явно. Так что вместо... ГДЕ CUSTNAME НРАВИТСЯ 'JONES%'... было бы... ГДЕ ВЕРХНЯ (CUSTNAME) НРАВИТСЯ 'JONES%'...

Другие вопросы по тегам