sql >> Databáze >  >> RDS >> Oracle

Propojení Oracle pomocí ODP.NET s Enterprise Library DAAB

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]



  1. Přihlášení uživatele 'NT AUTHORITY\NETWORK SERVICE' se nezdařilo

  2. Funkce volání VBA přes VBA a ADO

  3. Jak navrhujete uživatelům v PHP jedinečná uživatelská jména?

  4. Jak se mohu vyhnout této chybě MySQL Nesprávný specifikátor sloupce pro sloupec COLUMN NAME?