Doufám, že následující kroky vám poskytnou správný výsledek.
Chcete-li nahradit System.Data.OracleClient za Oracle.DataAccess.Client; a Oracle.DataAccess.Types
Stáhněte si a nainstalujte nejnovější verzi Microsoft Enterprise Library ver 3.1. Najdete ji zde:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx
Stáhněte a nainstalujte Oracle ODP.Net z webu Oracle Váš soubor DLL by měl být ve složce :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Když vás vyzve k instalaci zdroje, udělejte to pomocí zaškrtávacího políčka.
Pokud jste nespustili msi na následující cestě C:\Program Files\Microsoft Enterprise Library 3.1 – květen 2007\src
Kód knihovny se uloží do následující cesty C:\EntLib3Src\App Blocks
Udělejte si zálohu původní složky src pro případ, že byste je později potřebovali - C:\EntLib3Src\App Blocks\Src
Otevřete soubor řešení EnterpriseLibrary.sln A přejděte k datovému projektu v části Data Access Application Block
Přidejte odkaz Oracle.DataAccess.dll do datového projektu. Váš soubor DLL by měl být ve složce:- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Vyhledejte a nahraďte následující [ Místo toho si můžete stáhnout a použít aktualizovanou knihovnu DLL, která je připojena k tomuto článku]
Soubor :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Soubor :- C:\EntLib3Src\App Blocks\Src\Data\DatabaseConfigurationView.cs
Soubor :- C :\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDataReaderWrapper.cs
Najděte :- using System.Data.OracleClient;
Nahradit za:- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
Soubor :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Třída:- DbProviderMapping
Najděte :- System.Data.OracleClient
Nahradit za:- Oracle.DataAccess.Client
Soubor :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Metoda:- AddAdministrativeTemplateDirectives
Najít :- System.Data.OracleClient
Nahradit za:- Oracle.DataAccess.Client
Soubor :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Metoda:- AddParameter
Najít :- 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)
Nahradit výrazem:- 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)
Důvod:- OracleType nahrazen OracleDbType jako třetí parametr jako název typu v odp.net API
Soubor:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Odstranit:- [OraclePermission(SecurityAction.Demand)]
-
Nemám ponětí, co to udělá, když to někdo udělá, prosím stručně o relaci zpětné vazby
Soubor:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Najít:- OracleType.Raw
Nahradit výrazem:- OracleDbType.Raw
Najděte:- param.OracleType
Nahradit řetězcem:- param.OracleDbType
Najděte:- OracleType.Cursor
Nahradit za:- OracleDbType.RefCursor
Najděte:- parameter.OracleType
Nahradit řetězcem:- parameter.OracleDbType
Zkompilujte nyní a pokud se zobrazí chyba, proveďte následující Varování jako chyba:Komentář XML zapnutý – Odstraňte zvýrazněný obsah chyby/nahraďte jej vhodným komentářem Doufejme, že by se nyní měla kompilace dobře zkompilovat.
Nyní lze knihovnu DLL, která byla vygenerována kompilací výše uvedeného projektu, použít proti SqlServeru i Oracle [ODP.Net]