Кажется, что ответ - это повторное развертывание приложений с использованием клиента Sybase 15 вместо 12.5.
Поскольку вы уже отключили опции «ANSINULL», код в procs наверняка
произвели исключение срабатывания. И они делают, при использовании Sybase 15.
Боковое мышление: у Sybase 12.5 есть любая конфигурация подключения / клиентской области, которая
был выключен в этом выпуске и включен "ON" в версии Sybase 15?
Если это не так, это ошибка в Sybase 12.5, которая исправлена в выпуске Sybase 15 (или даже
до 13, я не знаю).
Вам не нужно ничего переписывать, просто перераспределите.
PS: мне никогда не нравилось развертывать приложение на сервере с клиентскими библиотеками, которые не совпадают по версии,
всегда есть возможность открыть банку с червями ... И это, видимо, так.
PS2: Конечно, UniDAC использует больше функциональности, чем BDE (который был промежуточным ПО с
подход «второстепенного общего знаменателя»), который затронул это слабое место на 12,5 клиентских библиотеках.
Еще один момент заключается в том, что в SQL Server (который имеет общее наследие с Sybase), raiseerror
имеют
severity
параметр. И только сообщения серьезности 16+ (AFAIR) считаются ошибками - возможно, BDE
решил, что все является ошибкой, где UniDAC только следит за документацией.
Это ОЧЕНЬ ДИКИЙ догадка.