.NET ODBC Oracle Params получает имя параметра, возвращаемое поставщиком базы данных - возможно? - PullRequest
0 голосов
/ 22 октября 2010

Я конвертирую код RDO в код провайдера ODBC в .NET.

Проблема в том, что имена параметров не были указаны в оригинальном коде, но значения параметров были получены по имени параметра после выполнения команды.

Есть ли в любом случае, чтобы имена параметров заполнялись поставщиком после выполнения команды, чтобы вызывающий код мог обращаться к параметрам по имени.

Позвольте мне показать вам пример объявления param и доступа к нему.

    With rdqryClntBasic
        .Parameters.Add(.CreateParameter) : .Parameters(0).Direction = ParameterDirection.Input
        .Parameters(0).DbType = DbType.String
        .Parameters(0).Value = sClntProdCd

Окончание

.EffectiveDate = ToDate (rdqryClntBasic.Parameters ("dtEffDt"). Значение)

Теперь вы можете видеть, как это «раньше работало в RDO / VB». По какой-то причине он принял бы это и знал, какие имена параметров были после выполнения. Я полагаю, что для получения этой информации нужно было совершить еще одну поездку в БД.

Есть ли способ имитировать это поведение в .NET для провайдера ODBC (с использованием Oracle)? Или я застрял, указав имена параметров в коде вручную (я понимаю, что это лучший вариант, но мне интересно, какова альтернатива, чтобы максимально приблизиться к исходному коду).

1 Ответ

0 голосов
/ 21 мая 2011

Нет, параметры в ODBC позиционные, а не по имени.

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