Страница 1 из 1

Data type unknown

Добавлено: 21 фев 2007, 17:00
qvd
Добрый день!
Есть такой запрос:

Код: Выделить всё

update MAIN
set
  ABONENT = :ABONENT,                                                   (integer)
  ADRES = EnCrypt(:ADRES)                                             (varchar)
where
  ID = :OLD_ID
при выполнении - ошибка Data type unknown,
если так ADRES = :ADRES - все работает.
Может необходимо что-то вроде ADRES = EnCrypt(:ADRES) as varchar ... Что делать?
FB 1.5, IbDataSet.

Добавлено: 21 фев 2007, 18:28
WildSery
Пробовал выставить вручную тип параметра?

Добавлено: 22 фев 2007, 09:13
qvd
А как это сделать?
Я попробовал :ABONENT As Integer - ругается на as...

Добавлено: 22 фев 2007, 09:29
Dimitry Sibiryakov
qvd писал(а):А как это сделать?
Согласно документации к используемому набору компонент доступа.

Добавлено: 22 фев 2007, 09:42
qvd
А причем тут компоненты доступа? Меня интересует сам запрос, а отлаживаю я его в IbExpert.

Добавлено: 22 фев 2007, 09:57
Dimitry Sibiryakov
Тогда к чему было твое упонимание ibdataset? И вообще - что-то ты не договариваешь... Покажи объявление EnCrypt.

Добавлено: 22 фев 2007, 10:02
qvd
IbDataset я упомянул на всякий случай, а объявление функции вот:

Код: Выделить всё

DECLARE EXTERNAL FUNCTION ENCRYPT
    CSTRING(250)
RETURNS CSTRING(250) FREE_IT
ENTRY_POINT 'EnCrypt_' MODULE_NAME 'taxi.dll'
Сама функция работает отлично (вызывается часто из ХП).

Добавлено: 22 фев 2007, 12:19
WildSery
Сдаётся мне, что делаешь ты всёж-таки не то, что показываешь нам.
Такой апдейт из эксперта выполнится на ура.
Кстати, эксперт не пятилетней давности?

Добавлено: 22 фев 2007, 12:25
qvd
Нет, что показал на форуме, то и делаю, IbExpert - 2006.12.24,
при выполнении этого запроса сообщает:

Код: Выделить всё

An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Data type unknown.
Я так понимаю, что сервер незнает, что за тип будет у параметра (EnCrypt ожидает CString), а вот как явно указать серверу тип параметра? (хотя мог бы уже выполнить неявное преобразование..)

Добавлено: 22 фев 2007, 15:56
qvd
Поставил FB 2.0 - запрос прекрасно заработал!
Вернул 1.5 - блин, та-же лажа .... Почему интересно?