
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
  | 
| 
 10.12.2003, 15:00 
 | 
|||
|---|---|---|---|
  
  | 
|||
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  Пишу в UDF (именно в UDF, а не в SP): DECLARE wrong_format CONDITION FOR SQLSTATE '22007'; DECLARE EXIT HANDLER FOR wrong_format RETURN -1; Так вот, на DECLARE CONDITION не ругается, а на DECLARE EXIT HANDLER - ругается, говорит [IBM][CLI Driver][DB2/NT] SQL0104N Обнаружен неправильный элемент "FOR" после текста "DECLARE EXIT HANDLER". Список правильных элементов: "<SQL_variable_condition_declaration>". LINE NUMBER=7. SQLSTATE=42601 Непонятно, его что, нельзя в UDF использовать?.. А как тогда в них обрабатывать SQLSTATE?... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 10.12.2003, 16:33 
 | 
|||
|---|---|---|---|
  
  | 
|||
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  Ну что, никто мне так ничего и не скажет?.... :-(( ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 10.12.2003, 19:53 
 | 
|||
|---|---|---|---|
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  maybe,  'external function' is a good choice? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 11.12.2003, 09:50 
 | 
|||
|---|---|---|---|
  
  | 
|||
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  Тут вот еще что непонятно: ведь на  DECLARE wrong_format CONDITION FOR SQLSTATE '22007'; он не ругается, все путем!.. Т.е. CONDITION-то мы объявили, и его это вполне устраивает!.. Но ЧТО с ним, кондишном, делать-то потом?... Как-то нелогично все это получается.... У меня отчетливое чувство, что это Я чего-то не понимаю, а делаться оно как-то должно... Только вот предложений, кроме как по поводу External Function, пока не поступало... В принципе, не проблема написать - как бы и Жабой знаком не по-наслышке, да и на Сях попИсывал временами - тока ведь не под DB2... Можно, видимо, и написать, но больно уж время поджимает (начальство имеет сильно), а судя по документации - там до-фига всего настраивать надо, чтобы все это компилилось, да подсасывалось куда надо... Тут ведь проблем-то еще и в том, что делаю я все это на своей базе, а переносить прийдется на рабочую!... А с этим тоже, судя по всему, все совсем непросто... Повторяю, я с DB2 знаком вообще пока еще весьма поверхностно, поэтому - вполне возможно, что не так уж все и страшно... Но, в таком случае, может кто мне даст краткий guide по поводу того, как писать External Functions на Жабе или Сях, и что потом со всем этим делать?.. Или - хотя-бы скажите, что КОНКРЕТНО почитать, а то в доках все уж как-то так размазано, что концов не соберешь.... А вообще, быстроты решения ради, да и вообще, для общего развития, хотелось бы, конечно, все-таки понять, как обрабатывать такие ситуации в UDF писаных на SQL.... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 11.12.2003, 12:08 
 | 
|||
|---|---|---|---|
  
  | 
|||
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  ну по поводу того, что в доках всё размазано - это сильно субъективно. Всё там конкретно описано - и настройка среды разработчика, и кокретно написание, и всякие хинты разработчику, и примеров много. А ежели доку еще и проиндексировать, и поиском пользоваться (многие http сервера это могут) то просто совсем великолепно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 11.12.2003, 17:41 
 | 
|||
|---|---|---|---|
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  which OS? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 11.12.2003, 18:05 
 | 
|||
|---|---|---|---|
  
  | 
|||
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  У меня Windows 2000, DB2 UDB 8.1... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 11.12.2003, 18:05 
 | 
|||
|---|---|---|---|
DECLARE EXIT HANDLER в UDF???... :-((  | 
|||
| 
 #18+ 
  
    
  w2k: **************** перекомпиляция ********************* db2cmd \VC98\Bin\VCVARS32.BAT // малость поправить INCLUDE , db2 должна быть раньше VC for example: set INCLUDE=C:\VC98\ATL\INCLUDE;C:\Program Files\SQLLIB\INCLUDE;C:\Program Files\SQLLIB\LIB;C:\Program Files\SQLLIB\TEMPLATES\INCLUDE;C:\VC98\INCLUDE;C:\VC98\MFC\INCLUDE;C:\mqm\tools\c\include;C :\mqm\tools\cplus\include; // коннектимся к базе db2 connect to database name // прекомпилируем фай с функциями db2 prep udffile.sqx bindfile // делаем bind. в твоем тяжелом случае неохолимо знать опцию datetime db2 bind udffile.bnd datetime iso // ищем файлик *.cxx из него нужно сделать dll-ку. ( сам сделаешь) *************** объявить func **************** CREATE FUNCTION blablabla( чар 10 ) RETURNS INT DETERMINISTIC SQL LANGUAGE C PARAMETER STYLE DB2SQL EXTERNAL NAME 'C:\udffile!func' ALLOW PARALLEL; может какие другие еще ключики укажешь *** что примерно внутри, с параметрами сам разберешься *** EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; char d [11]; sqlint32 y; EXEC SQL BEGIN END SECTION; /проверить дату EXEC SQL VALUES ( DATA (:d) ) INTO :d; switch(SQLCODE) { сase 180: case 181: // вот кривая дата break; .... } получить г EXEC SQL VALUES ( YEAR ( DATA (:d) ) ) INTO :y; switch(ыйдсщву) Х .... Ъ С Новым Годом ! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
  | 

start [/forum/topic.php?fid=43&tablet=1&tid=1606408]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    36ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    42ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 241ms | 
| total: | 362ms | 

    | 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.