Какой тип Oracle RefCursor эквивалентен в перечислении System.Data.DbType в C #? - PullRequest
2 голосов
/ 14 сентября 2011

Я программирую код DataAccess с использованием Microsoft Enterprise Library и подключаюсь к базе данных Oracle. Когда я пытаюсь вызвать хранимую процедуру, которая ожидает выходной параметр типа RefCursor, я не могу передать его этому типу, поскольку единственными доступными типами являются эти типы в "System.Data.DbType". Так какой тип я должен забрать для Oracle "RefCursor" DbType?

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Поставьте нулевой заполнитель: http://tiredblogger.wordpress.com/2007/08/27/enterprise-library-and-oracle-stored-procedure-record-sets/

Вы должны использовать список массивов параметров , вы не можете использовать AddParameter.

0 голосов
/ 22 сентября 2012

Как я помню, вы можете назвать свой sys_refcursor "cur_OUT" на стороне Oracle PLSQL и просто использовать cmd.ExecutorReader (), чтобы получить результат на стороне C #, даже без объявления параметра cur_OUT на стороне блока доступа к данным Enterprise Library.

Вот документ (я забыл, где находится источник ...):

Это означает, что вы можете назвать свой ссылочный курсор как "cur_OUT", и блок приложения доступа к данным будет связыватьсяэто для вас;вам не нужно явно создавать выходной параметр для курсора. Если ваши хранимые процедуры используют курсор с именем, отличным от «cur_OUT», вы должны явно добавить параметр для каждого курсора в команду.Аналогичным образом, если ваша хранимая процедура содержит несколько курсоров, вы должны явно добавить каждый параметр курсора в команду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...