Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
зеленый админ 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] Ответить | Цитировать Сообщить модератору |
Mnior Member Откуда: Кишинёв Сообщений: 6723 |
зеленый админ, вообще вы не найдёте человека который не сталкивался с проблемами провайдера. Ну кроме тех кто им не пользуется. ![]() Полный форум проблем с ним, если бы вы не поленились поискать. MS SQL + Oracle = проблемы, или грязный межрассовый секс вместо нежной любви ? А 64 битная система очень хорошо скрывает утечку памяти. Так что думаю вы если заметите, то не скоро. Поэтому совет, вынесите работу провайдера из окружения MS SQL процесса. Написал я пару советов как надо с этим говном работать. Но от версии к версии грабли раскладываются по разному. Вы нарушили минимум одно правило, что OUTPUT параметры обязаны иметь NULL значение перед вызовом. 10177955 Но проблемы будут всё равно, как бы вы не старались. Се ля ви. |
24 июл 13, 02:12 [14607893] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |