Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.05;
Скачать: CL | DM;

Вниз

Работа функцией UDF при вставки записи в Таблицу   Найти похожие ветки 

 
ganda   (2009-06-04 14:57) [0]

есть некая функция назовём её FUN1 и есть поле F1.
F1-  символьное поле размер 10 символов.
скрипт создания FUN1

DECLARE EXTERNAL FUNCTION FUN2
   CSTRING(255)
RETURNS CSTRING(255)
ENTRY_POINT "CodeText" MODULE_NAME "GNUDF";

теперь сам текст вставки записи
insert into table (F1) values (Fun1(:F1));
при выполнение выдаёт ошибку:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.


 
PEAKTOP ©   (2009-06-04 15:33) [1]

1) База данных с каким набором символовов создана ?

http://firebirdsql.su/doku.php?id=create_database

2) Домен таблицы table.F1 с каким CHARACTER SET создан ?
http://firebirdsql.su/doku.php?id=create_domain

3) А подключение с каким LC_CTYPE идет ?

DECLARE EXTERNAL FUNCTION FUN2
  CSTRING(255) CHARACTER SET WIN1251
RETURNS CSTRING(255)
ENTRY_POINT "CodeText" MODULE_NAME "GNUDF";


4) И последнее, самой гнустное. Если UDF скомпилена в Delphi2009, то функция ожидает юникодную строку, а Firebird отдает ей Ansi.
Или наоборот.


 
ganda   (2009-06-04 15:41) [2]

База имеет набор символов NONE и поле тоже имеет Character set None (1, 2)

UDF  скомпилена  на D7 (4)

и 3 вариант не прокатывает. А если его сунуть в тригер прокатить или нет?!


 
PEAKTOP ©   (2009-06-04 16:50) [3]

Попробуй

DECLARE EXTERNAL FUNCTION FUN2
 CSTRING(255) CHARACTER SET NONE
RETURNS CSTRING(255)
ENTRY_POINT "CodeText" MODULE_NAME "GNUDF";

>>А если его сунуть в тригер прокатить или нет?!
А че сам не попробовал ? :)


 
Сергей М. ©   (2009-06-04 21:59) [4]

Тут еще и мемликами пахнет ..

FREE_IT осознанно опущен ?



Страницы: 1 вся ветка

Текущий архив: 2010.09.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
2-1274189147
Jacksotnik
2010-05-18 17:25
2010.09.05
Запись дробного числа в базу MySQL


3-1244113042
ganda
2009-06-04 14:57
2010.09.05
Работа функцией UDF при вставки записи в Таблицу


15-1276174452
12
2010-06-10 16:54
2010.09.05
Трубы в сан узле или Куда не зарастет народная тропа


15-1272040004
Amoeba_
2010-04-23 20:26
2010.09.05
Антивирус McAfee парализовал десятки тысяч компьютеров


15-1276369798
AKE
2010-06-12 23:09
2010.09.05
У кого-нибудь есть код создания...