Надявам се, че следващите стъпки ще ви дадат правилния резултат.
За да замените System.Data.OracleClient с Oracle.DataAccess.Client; и Oracle.DataAccess.Types
Изтеглете и инсталирайте най-новата версия на Microsoft Enterprise Library версия 3.1 Можете да намерите тук:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx
Изтеглете и инсталирайте Oracle ODP.Net от уебсайта на Oracle Вашият DLL файл трябва да е в :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Когато ви подкани да инсталирате източника, направете го, като използвате квадратчето за отметка.
Ако не сте стартирали msi по следния път C:\Program Files\Microsoft Enterprise Library 3.1 - май 2007\src
Кодът за библиотеката се съхранява на следния път C:\EntLib3Src\App Blocks
Направете резервно копие на оригиналната src папка, в случай че имате нужда от тях по-късно - C:\EntLib3Src\App Blocks\Src
Отворете файла с решение EnterpriseLibrary.sln и стигнете до проекта с данни под Data Access Application Block
Добавете препратка към Oracle.DataAccess.dll към проекта за данни. Вашият DLL файл трябва да е в:- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Търсете и заменете следното [ Вместо това можете да изтеглите и използвате актуализирания DLL, който е приложен към тази статия]
Файл :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Файл :- C:\EntLib3Src\App Blocks\Src\Data\DatabaseConfigurationView.cs
Файл :- C :\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDataReaderWrapper.cs
Намерете :- using System.Data.OracleClient;
Заменете с:- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
Файл:- C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Клас:- DbProviderMapping
Намерете:- System.Data.OracleClient
Заменете с:- Oracle.DataAccess.Client
Файл:- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Метод:- AddAdministrativeTemplateDirectives
Намерете:- System.Data.OracleClient
Заменете с:- Oracle.DataAccess.Client
Файл:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Метод:- AddParameter
Намерете :- public void AddParameter(OracleCommand command, string name, OracleType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
Заменете с:- public void AddParameter(OracleCommand command, string name, OracleDbType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
Причина:- OracleType е заменен с OracleDbType като трети параметър като името на типа в odp.net API
Файл:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Премахване:- [OraclePermission(SecurityAction.Demand)]
-
Нямам представа какво прави това, ако някой има, моля, накратко за сесията за обратна връзка
Файл:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Намиране:- OracleType.Raw
Заменете с:- OracleDbType.Raw
Намерете:- param.OracleType
Заменете с:- param.OracleDbType
Намерете:- OracleType.Cursor
Заменете с:- OracleDbType.RefCursor
Намерете:- parameter.OracleType
Заменете с:- parameter.OracleDbType
Компилирайте сега и ако получите грешка, направете следното Предупреждение като грешка:XML коментар за - Премахнете осветеното съдържание на грешката / заменете го с approp коментар. Надяваме се, че сега трябва да се компилира добре.
Сега DLL, който е генериран чрез компилиране на горния проект, може да се използва както срещу SqlServer, така и срещу Oracle [ODP.Net]