У меня есть устаревший DAL с примерно 100 адаптерами таблиц (DataSet xsd), но поскольку у нас появились новые серверы с клиентом Oracle 12c, мне пришлось переключиться на Oracle.DataAccess.Client
(ODP.NET) со старого устаревшего System.Data.OracleClient
.
Единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что я всегда получаю сообщение об ошибке: ORA-01008: Не все переменные связаны при вызове адаптеров таблиц.
Я прочитал, что мне нужно установить BindByName
в true
в OracleCommand
для каждого адаптера таблицы. Но как это сделать, если OracleCommand
используется только в конструкторе самого TableAdapter?
Есть ли способ сделать это без расширения каждого адаптера таблицы, потому что у меня их около 100.
System.Data.OracleClient
на новыйOracle.DataAccess.Client
. Но этоBindByName
усложняет задачу, потому что у нас около 100 адаптеров таблиц. - person Gaui   schedule 19.07.2014BindByName
- это свойство команды, а не адаптера. Таким образом, вы можете продолжать передавать свои адаптеры, как и раньше. И все, что вам нужно сделать при доступе к данным, - это заменить каждую команду командой, возвращающей метод, и в этом методе сделать только один раз для всей базы кода bindbyname - person T.S.   schedule 19.07.2014BindByName=true
для каждого элемента в CommandCollection, но мы говорим о более чем 100 адаптерах таблиц, поэтому я искал более простой и универсальный метод. - person Gaui   schedule 20.07.2014