IBX: invalid data conversion

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Max_VM
Сообщения: 3
Зарегистрирован: 17 фев 2006, 11:54

IBX: invalid data conversion

Сообщение Max_VM » 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.
Что делать ? :?:

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 фев 2006, 12:44

обновить версию IBX.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: IBX: invalid data conversion

Сообщение Dimitry Sibiryakov » 17 фев 2006, 14:48

Max_VM писал(а):Что делать ?
А нефиг пользоваться variant. Используй AsInt64 раз уж у тебя такой большой integer.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 фев 2006, 17:19

А нефиг пользоваться variant.
любит народ эту гадость. Я как увидел первый раз когда это в Delphi 2 (?) ввели, чуть не ...
А после того, как посмотрел на реализацию в RTL, понял, что я ничего не потеряю, просто забив на варианты.

Max_VM
Сообщения: 3
Зарегистрирован: 17 фев 2006, 11:54

Сообщение Max_VM » 20 фев 2006, 08:28

Это как же мне не пользоваться variant'ом ? :?
Расскажите, плз. Я вызываю ExecProc и там она валится ! Где мне не пользоваться вариантом ? До загрузки параметров дело еще не дошло !

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 фев 2006, 09:32

вариантом - нигде не пользоваться. Как и IBStoredProc. IBX какой версии - самой свежей?

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 20 фев 2006, 11:14

kdv писал(а):вариантом - нигде не пользоваться. Как и IBStoredProc. IBX какой версии - самой свежей?
Ну, мужики, Вы фундаменталисты и радикалы. Понятно, можно избегать варианта при работе с БД, а если работаешь с WordAplication, с какой переменной в приложении его связывать.

Max_VM
Сообщения: 3
Зарегистрирован: 17 фев 2006, 11:54

Сообщение Max_VM » 20 фев 2006, 12:47

Все полечилось обновлением IBX до 7.08 ! :lol:
Спасибо... :wink:

Ответить