sql >> Database >  >> RDS >> Oracle

Hoe een .Net-toepassing te schrijven die werkt met zowel SqlServer als Oracle (nu System.Data.OracleClient is verouderd)

EDIT:Het volledig beheerde ODP.NET is nu beschikbaar in productie. Het is erg klein (minder dan 10 MB) en is niet afhankelijk van andere bestanden. Je kunt het hier verkrijgen:

http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html

Oorspronkelijk antwoord:

Een manier om gemakkelijk zorg ervoor dat de vereiste Oracle-clientsoftware (inclusief ODP.NET) altijd beschikbaar is op de implementatiemachine om deze in uw toepassing in te sluiten. ODP.NET heeft veel gemakkelijker in te sluiten nu XCOPY ODP.NET beschikbaar is. Je kunt het downloaden via deze link:

http://www.oracle.com/technology/software/tech/windows/odpnet/index.html

Met XCOPY ODP.NET hoeft u alleen het volgende te doen wanneer u uw toepassing implementeert:

1) Kopieer uw applicatie naar de doelcomputer

2) Voer "install.bat" uit waarmee een aantal Oracle DLL's naar de doelcomputer worden gekopieerd (inclusief ODP.NET en de Oracle client-side (OCI) software)

3) Voer "configure.bat" uit, wat een "gacutil" doet en het register van de doelcomputer bijwerkt

4) Geef uw toepassing informatie over de verbindingsreeks. U kunt de EZCONNECT-verbindingsreeks ("[email protected]") gebruiken of u (of uw klant) kunt reeds bestaande sqlnet-configuraties delen door de registervermelding TNS_ADMIN of de omgevingsvariabele zo in te stellen dat deze verwijst naar een andere Oracle-home waar sqlnet connect-aliassen al zijn geconfigureerd .

Dat is het! Het is echt zo simpel.

Ik hoop dat je ODP.NET XCOPY in de bovenstaande link goed zult bekijken om zelf te zien hoe gemakkelijk het tegenwoordig is om ODP.NET in je app in te sluiten.

Aanvullende opmerkingen:

Als u ervoor kiest om ODP.NET niet in uw toepassing in te sluiten, zowel in het geval van Microsoft OracleClient als in het geval van ODP.NET, moet er aanvullende Oracle client-side (OCI)-software op elke implementatiemachine zijn geïnstalleerd. Het enige verschil tussen de twee gevallen is dat wanneer u ODP.NET gebruikt, het ook op de implementatiemachine moet bestaan. Het goede nieuws is dat een typische Oracle-installatie op uw klantcomputer al ODP.NET bevat.

Als nu op uw doelcomputer ODP.NET al is geïnstalleerd, hoeft u verder niets te doen. U hoeft alleen uw aanvraag te verspreiden. Als u ODP.NET toch moet installeren met behulp van het standaardinstallatieprogramma, kunt u het ook downloaden via de bovenstaande link. De standaard ODP.NET-installatie duurt slechts een paar minuten en configureert alles voor u.

En nogmaals, u kunt EZConnect connect-strings gebruiken om netwerkconfiguratie een fluitje van een cent te maken, of de TNS_ADMIN-registervermelding of omgevingsvariabele gebruiken om te profiteren van reeds bestaande connect-aliassen die uw klant al gewend is te gebruiken.

Ik hoop dat dit helpt,

Christian Shay

Orakel

Aarzel niet om uw feedback over deze en andere toekomstige functies te geven op onze website voor functieverzoeken:http://apex.oracle.com/pls/apex/f?p=18357:46



  1. Mysql-volgorde op specifieke ID-waarden

  2. PostgreSQL geeft gegevens van recursieve CTE door aan functie

  3. De 'laatste' rij van elke 'groeperen op' retourneren in MySQL

  4. SQL Tabel vullen met willekeurige gegevens