Передача массива из .Net-приложения в хранимую процедуру Oracle

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

FYI, я использую System.Data.OracleClient в своем приложении С#.

Спасибо.

Ответ 1

Джимми, 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

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