Передача массива из приложения .Net в хранимую процедуру Oracle - PullRequest
11 голосов
/ 27 октября 2010

Мне нужно передать массив из приложения C # .net в хранимую процедуру Oracle.Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать?Кроме того, какой тип OracleType я использую в C # при передаче входного параметра в хранимую процедуру?

К вашему сведению, я использую System.Data.OracleClient в моем приложении C #.

Спасибо.

Ответы [ 2 ]

7 голосов
/ 27 октября 2010

Джимми, System.Data.OracleClient не поддерживает массивы.
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/57a59fba-09e2-46cb-a072-6706b3ec5131

В зависимости от ваших потребностей вам потребуется реализовать это через вложенные типы таблиц (через UDT или связанные массивы) с помощью клиентов ODP.net. Это, вероятно, хорошее направление, особенно начиная с .net 4.0 устарел System.Data.OracleClient .

Но если вы застряли с System.Data.OracleClient и действительно пытаетесь создать переменную в списке, вы можете сделать это, передав строку и выполнив некоторые из следующих предложений: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:210612357425

надеюсь, это поможет

2 голосов
/ 27 октября 2010

Для передачи массива в PL / SQL вы должны использовать определяемые БД типы вложенных таблиц.Взгляните на этот хороший учебник , он может вам помочь.

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