Roliking Ответов: 0

Вставить во временную таблицу из IMB DB2 SP не вставляя строки в SQL server


Я новичок в IBM DB2 и пытаюсь вставить во временную таблицу в SQL результирующий набор из хранимой процедуры IBM DB2. Хранимая процедура возвращает правильные данные при вызове из SQL server по отдельности.

Но когда я создаю временную таблицу и пытаюсь вставить записи в временную таблицу из IBM DB2 SP, она говорит: "(затронуты 0 строк)".

Я вызываю DB2 SP индивидуально, как это происходит в SQL server. МЕТОД EXEC ('{ВЫЗОВ СХЕМЫ.SP_NAME ("ПАРАМЕТР1", "ПАРАМЕТР2", "PARAM3")}') на ИМЯ_СЕРВЕРА; это дает правильный результат.

Теперь я создаю временную таблицу с теми же именами столбцов и аналогичными определениями, что и результирующий набор SP, и пытаюсь вставить ее в временную таблицу следующим образом

Создать таблицу #порядок ( PRODCODE тип varchar(35), BUYNUM тип varchar(10), диско тип char(1), QTY_AVAIL ИНТ RECENT_NBR_DAY ИНТ RECENT_ORD_QTY ИНТ PER_DAY_DEMAND_QTY типа decimal(7,2), AVAIL_NBR_DAY типа decimal(7,2), YEAR_ORD_QTY ИНТ YEAR_PER_DAY_DEMAND типа decimal(7,2), PONUM тип varchar(10), POQTY ИНТ ISSUEDAT типа datetime, PRODDESC тип varchar(25), CUCODE тип varchar(15), Время ИНТ DEMANDPERDAY типа decimal(7,2), ANNUALUSAGE ИНТ MAXIMUMDAILYUSAGE ИНТ SAFETYSTOCK типа decimal(7,2), REPORDERPOINT ТИПА DECIMAL(7,2), PRCVNR ИНТ, )

Вставить в #порядок вызова exec ('{вызов схемы.SP_NAME ("ПАРАМЕТР1", "ПАРАМЕТР2", "PARAM3")}') НА ИМЯ_СЕРВЕРА;

Даже если SP возвращает записи, он не вставляется в временную таблицу. Это дает (0 ряд(ов), пострадавших) сообщений.

Я попытался увеличить длину столбца типа данных в таблице temp, и вдруг он начал работать, но снова перестал работать.

Я не могу понять, в чем именно заключается проблема!! Есть ли что-то, что нужно изменить в запросе?

Я пробовал разные способы выполнения запроса, например с помощью OPENROWSET, но он выдает ошибку: "поставщик OLE DB" IBMDASQL "для связанного сервера" (null) "указывает, что либо объект не имеет столбцов, либо текущий пользователь не имеет разрешений на этот объект". даже несмотря на то, что SP возвращает записи, я все равно получаю эту ошибку.

Может ли кто - нибудь помочь мне найти решение для этого?

Заранее спасибо

Что я уже пробовал:

Я пробовал вызывать DB2 SP в SQL следующим образом
МЕТОД EXEC ('{ВЫЗОВ СХЕМЫ.SP_NAME ("ПАРАМЕТР1", "ПАРАМЕТР2", "PARAM3")}') НА ИМЯ_СЕРВЕРА;
что дает правильный вывод с некоторыми записями.
Но когда я пытаюсь вставить во временную таблицу, она говорит ((0) строк выполнено).

Santosh kumar Pithani

Сколько столбцов возвращение "метод exec ('{вызов схемы.SP_NAME ("ПАРАМЕТР1", "ПАРАМЕТР2", "PARAM3")}') на ИМЯ_СЕРВЕРА" этот запрос после выполнения?

Roliking

То же самое нет столбцов, показанных в временной таблице, которую я создал.

Karthik_Mahalingam

использовать  Ответить  кнопка, чтобы отправить комментарии/запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

0 Ответов