sql >> Databasteknik >  >> RDS >> Oracle

Hur använder jag Oracle från .NET?

Det enklaste sättet att förklara problemet är att påpeka skillnaden mellan Oracle-klienten och ODAC-klientbiblioteken.

På en 64-bitars dator (Windows 7+) måste du ha installerat 64-bitars Oracle Client. Det här är klienten som din dator använder för att ansluta till Oracle-databaser som distribueras lokalt på din dator. För appar som finns på en webbserver eller annan terminalserver är regeln densamma.

Tricket är detta... som utvecklare måste våra maskiner också ha .Net IDE-verktyget. Oracle har en taskig namnkonvention men i huvudsak finns det två delar:ODT (verktyg) och ODAC (dataåtkomst). ODP.Net-dataleverantören är en del av ODAC-biblioteken.

Så... tillbaka till IDE... Visual Studio är 32-bitars och därför måste vi installera verktygen ovan i 32-bitars.

Under utveckling, felsökning etc. använder VS.Net 32-bitars klientbibliotek och dataåtkomstbibliotek för att arbeta med Oracle.

Så snart du distribuerar den här applikationen till en dator använder den vilken klient som helst som laddas på maskinen om inte en specifik plattform är inriktad på.

Det betyder att om du riktar in dig på 32 och distribuerar till 64 kommer det att gå sönder... och vice versa. Det bästa du kan göra är att lämna det på valfri plattformssektion och helt enkelt komma ihåg vad fan du gör :)

En annan sak att vara försiktig med är att se till att både ditt klient- och ODAC-paket är av samma version... du vill inte ha 11g R2-klient och 11g R5 ODAC, för så fort du distribuerar, går skiten sönder igen.

Förbehållet här är om du vill "bädda in" Oracle-klienten i din applikation, i vilket fall OraOps tillsammans med flera andra bibliotek distribueras med applikationen - detta kallas Oracles Instant Client, och är också en del av ODAC-paketet och ingår i deras kompletta klientpaket också.

De goda nyheterna...

Oracle kommer snart (Q1 2013) att släppa sitt nästa ODP.Net-paket... som kommer att vara ett fullständigt hanterat kodbibliotek... vilket betyder att det inte längre är någon separat klient eller ODAC-paket att matcha, och plattformen kommer att vara okunnig om 32 och 64-bitars distinktioner... det kommer att fungera ungefär som det gamla Microsoft-biblioteket, bara det kommer att byggas och underhållas av Oracle med en mer robust funktionsuppsättning. Jag önskar bara att den skulle komma tidigare.



  1. komma efter latitud och longitud i laravel 5 med andra sammanfogningar

  2. SQL OVER()-satsen - när och varför är den användbar?

  3. Dapper.net Oracle-parameter

  4. Skapa en databas i SQL Server 2017