2015-07-13 7 views
5

Mi scuso se questa è una domanda un po 'vaga; Proverò a dargli una parola nel modo più appropriato possibile.Posso utilizzare una libreria ADO.NET in C++ per leggere il DB Oracle?

Fondamentalmente ho un'applicazione C++ che attualmente esegue un database back-end MSSQL (SQL Server 2014). Per facilitare la comunicazione nel database e costruire il modello dell'entità, abbiamo assemblato il nostro set di classi C++ che eseguono il wrap delle chiamate native ADO.NET; abbiamo creato in modo tale che lo sviluppatore ha bisogno semplicemente di fornire i dettagli di una stringa di connessione ed è assemblato come parte del metodo di connessione in questo modo:

string.Format(_T("DRIVER=SQL Server;SERVER=%s\\%s;UID=%s;PWD=%s;DATABASE=%s"),string,strConnInstance,strUser,strPassword,strDatabase); 

Ora abbiamo l'obbligo di leggere da un oracolo database, e ci chiediamo se possiamo usare le stesse librerie di connessione. Suppongo che avremo bisogno di modificare la stringa di connessione (ad esempio, il driver dovrebbe leggere qualcosa di diverso). Credo di aver letto che la connessione Oracle può essere facilitata attraverso l'uso di un driver ODBC? Sarebbe semplicemente il caso di installare il driver pertinente (se sì, quale?) E di cambiare l'argomento "Driver" nella stringa di connessione (se sì, a cosa?).

Se non è così semplice, c'è un altro modo in cui può essere fatto o stiamo assistendo a una riqualificazione?

Grazie in anticipo!

+2

Non sono sicuro di aver capito, ma ADO.NET è indipendente dal database. Può utilizzare qualsiasi database, se si dispone del driver corretto. Come SQL Server, esistono driver Oracle, forniti da Oracle e denominati ODP.NET. Non è chiaro che sembri utilizzare ADO.NET con ODBC di seguito ("DRIVER = ..."), non le classi .NET SQL previste. Il motivo per cui lo fai è abbastanza strano. Comunque ci sono anche i driver Oracle ODBC, quindi puoi testarlo. Un po 'di avvertimento: se non hai mai pensato a Oracle prima, ci sono possibilità che questo non funzioni proprio così ... –

+1

Hai avuto un aspetto sotto le connessioni ODBC nel Pannello di controllo? È possibile configurare le connessioni su qualsiasi tipo di DB se si installano i driver corretti. – KarmaEDV

+1

La tua app ha un SQL incorporato specifico per DB? – Wombelite

risposta

4

La risposta è sì è possibile utilizzare ADO.NET per connettersi a Oracle. C'è un sacco di persone là fuori in caso di overflow dello stack già facendo ...

https://stackoverflow.com/search?q=oracle+ado.net

Oracle ha una pagina per il fornitore di db ...

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

Microsoft ha una pagina si parla di si ...

https://msdn.microsoft.com/en-us/library/77d8yct7(v=vs.110).aspx

Oracle ha anche examp les utilizzando Entity Framework ...

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/EntityFrameworkOBE/EntityFrameworkOBE.htm http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html

C'è un sacco di risorse là fuori.

Problemi correlati