Мы используем компонент Unidac Stored Proc Component в Delphi 10 с драйверами Sybase 12.5.
В Sybase proc мы вызываем ошибку, как показано ниже, я обнаружил, что она возвращается, но не показывает сообщение об ошибке. Это не работает в Unidac или какая-либо другая проблема?
if @number <> null
begin
select @errmsg = 'Already active for location '
raiserror 20001 @errmsg
return 1
end
я выполняю storeproc в delphi, как показано ниже
try
ExecProc;
except on E:Exception do
begin
ErrorMsg(EDatabaseError(ExceptObject).Message,0);
Exit;
end;
но все же мы не можем поймать исключение.
даже я пробовал, как показано ниже.
try
UniStoredProc.StoredProcName := 'test';
UniStoredProc.ExecProc;
except
on E:EUniError do
ShowMessage(E.Message);
end
Тот же код отлично работает с клиентскими библиотеками Sybase 15
Для подключения к серверу мы используем сервер Sybase 15 и клиентские библиотеки Sybase 12.5. Будет ли это проблемой? Раньше мы использовали BDE с клиентскими библиотеками Sybase 12.5, поэтому у нас не было проблем, теперь мы обнаружили эту проблему с unidac