Добрый день!
Простейший случай:
ХП
---------------------
CREATE PROCEDURE MYPROC
SPECIFIC MYPROC
LANGUAGE SQL
DYNAMIC RESULT SETS 1
BEGIN ATOMIC
DECLARE Cur_1 CURSOR WITH RETURN * FROM TAKECOMP_PC_HD;
OPEN Cur_1;
END
---------------------
Вызов в MAV
IF MAVLOAD('exec MYPROC', MyQueue)
MAVSHOWERROR
END
И при вызове ошибка:
Error : [-104] [IBM][CLI Driver][DB2/NT] SQL0104N Обнаружен неправильный элемент "END-OF-STATEMENT" после текста "MYPROC". Список правильных элементов: "JOIN <joined_table>". SQLSTATE=42601
При вызове их командной строки - все Ok...
Получение набора данных из ХП (DB2) в MAV
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: Получение набора данных из ХП (DB2) в MAV
Сам и отвечу:
Отрабатывает следующий код:
My_Tmp MAVSelect
My_SP MAVExecSP
My_Tmp.Init(,0)
My_Tmp.BindField(MAVTCPCHD:IDPARENT, MyQueue.IDPARENT)
...
IF My_Tmp.PrepareRun()
MAVSHOWERROR
ELSE
My_SP.PrepareSelect(My_Tmp.GetHSTMT())
My_SP.BindParameter(MAVTCPC:IDPC)
IF My_SP.Run('MYPROC')
MAVSHOWERROR
ELSE
LOOP WHILE NOT My_Tmp.Fetch()
ADD(MyQueue)
END
END
END
Он приводился А.Мялиным в одном из топиков данной конфы. А вот код
IF MAVLOAD('exec TCPC_HD_SEL', MyQueue)
MAVSHOWERROR
END
так и не идет, но да и ладно...
Отрабатывает следующий код:
My_Tmp MAVSelect
My_SP MAVExecSP
My_Tmp.Init(,0)
My_Tmp.BindField(MAVTCPCHD:IDPARENT, MyQueue.IDPARENT)
...
IF My_Tmp.PrepareRun()
MAVSHOWERROR
ELSE
My_SP.PrepareSelect(My_Tmp.GetHSTMT())
My_SP.BindParameter(MAVTCPC:IDPC)
IF My_SP.Run('MYPROC')
MAVSHOWERROR
ELSE
LOOP WHILE NOT My_Tmp.Fetch()
ADD(MyQueue)
END
END
END
Он приводился А.Мялиным в одном из топиков данной конфы. А вот код
IF MAVLOAD('exec TCPC_HD_SEL', MyQueue)
MAVSHOWERROR
END
так и не идет, но да и ладно...