Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 exec at OLED_DB_Oracle в цикле с output  [new]
зеленый админ
Member

Откуда:
Сообщений: 247
Есть что-то типа
open my_cursor;
while (1=1)
BEGIN
  FETCH NEXT FROM my_cursor INTO @l_param_in;
  IF @@FETCH_STATUS != 0
      BREAK;
  exec ('call my_package.my_proc(?, ?)', @l_param_in, @l_param_out output) at OLED_DB_Oracle;
END;


Подробности корректности синтаксиса тут
Незадача состоит в том, что при первом візове exec все работает. А вот при втором - возвращает в @l_param_out мусор. Может ли дело біть в провайдере? кто-то с таким сталкивался?
Сервер - 2008R2, Linked Server - Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit.
23 июл 13, 12:46    [14603558]     Ответить | Цитировать Сообщить модератору
 Re: exec at OLED_DB_Oracle в цикле с output  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
зеленый админ, вообще вы не найдёте человека который не сталкивался с проблемами провайдера.
Ну кроме тех кто им не пользуется.
Полный форум проблем с ним, если бы вы не поленились поискать.
MS SQL + Oracle = проблемы, или грязный межрассовый секс вместо нежной любви ?

А 64 битная система очень хорошо скрывает утечку памяти. Так что думаю вы если заметите, то не скоро.
Поэтому совет, вынесите работу провайдера из окружения MS SQL процесса.

Написал я пару советов как надо с этим говном работать. Но от версии к версии грабли раскладываются по разному.
Вы нарушили минимум одно правило, что OUTPUT параметры обязаны иметь NULL значение перед вызовом. 10177955

Но проблемы будут всё равно, как бы вы не старались. Се ля ви.
24 июл 13, 02:12    [14607893]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить