IBX: invalid data conversion
Добавлено: 17 фев 2006, 12:10
Есть хранимая процедура:
CREATE PROCEDURE GET_APPARAT_LAST_BINDING (
APPARAT_CODE NUMERIC(18,0))
RETURNS (
BINDING_CODE NUMERIC(18,0))
AS
...
При вызове TIBStoredProc.ExecProc валимся на процедуре FetchDataIntoOutputParams.
Далее выясняется, что в IBSql.pas TIBXSQLVAR.GetAsVariant заходим по такому условию:
SQL_INT64:
if FXSQLVAR^.sqlscale = 0 then
IBError(ibxeInvalidDataConversion, [nil])
Изменить хранимую процедуру нет возможности, т.е. Numeric 18,0 поменять на Integer или хотябы Numeric 18,N где N>0.
Что делать ?
CREATE PROCEDURE GET_APPARAT_LAST_BINDING (
APPARAT_CODE NUMERIC(18,0))
RETURNS (
BINDING_CODE NUMERIC(18,0))
AS
...
При вызове TIBStoredProc.ExecProc валимся на процедуре FetchDataIntoOutputParams.

Далее выясняется, что в IBSql.pas TIBXSQLVAR.GetAsVariant заходим по такому условию:
SQL_INT64:
if FXSQLVAR^.sqlscale = 0 then
IBError(ibxeInvalidDataConversion, [nil])
Изменить хранимую процедуру нет возможности, т.е. Numeric 18,0 поменять на Integer или хотябы Numeric 18,N где N>0.
Что делать ?
