Domanda

Devo sviluppare uno strumento in C # che recupera alcuni dati da un DB Oracle. Poiché il nostro supporto IT sta riscontrando dei problemi con l'installazione del client Oracle, voglio essere in grado di connettermi al database senza il client installato. L'idea è di installare (e forse registrare) una libreria aggiuntiva insieme all'app.

Quali alternative al client Oracle esistono e quali sono i loro pro e contro?

Questo è per una piccola applicazione (1 modulo, 2 o 3 query, il risultato visualizzato in un DataGrid, probabilmente non più di 10-20 set di dati), ma sono anche interessato a problemi di scalabilità, poiché potremmo anche spostare lontano dal client Oracle con progetti futuri più grandi.

Naturalmente una soluzione freeware sarebbe buona, ma non ci limitiamo a questo.

È stato utile?

Soluzione

Esistono un paio di diversi aspetti di Oracle ODP. Net driver . Quale versione stai cercando di usare?

Sembra che tu voglia Oracle 11g ODAC 11.1.0.6.21 con Xcopy Deployment, che ti consente di distribuire Oracle Instant Client e il driver ODP.Net semplicemente copiando alcune DLL e registrandole. Ciò non richiede un'installazione client Oracle completa.

Altri suggerimenti

Il tuo compito può essere realizzato senza la necessità di software di terze parti:

  1. Installa Oracle Data Access Components 11g nel tuo scatola di sviluppo. ODAC 11g è retrocompatibile con 9i e 10g
  2. Aggiungi un riferimento alla libreria ODAC nei tuoi progetti .NET (Oracle.DataAccess.dll).
  3. Consenti alla tua applicazione di connettersi senza l'uso di TNSNAMES.ORA. Per fare ciò, devi includere il descrittore di connessione nella stringa di connessione:

    " id utente = scott; password = tigre; origine dati = " + " (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) " + & Quot; (HOST = vendite-server) (PORT = 1521)) (CONNECT_DATA = quot &; + & Pollici (SERVICE_NAME = sales.us.acme.com))) quot &;

Poiché si include il descrittore di connessione nella stringa di connessione, il thin client non è richiesto nei computer di destinazione.

Buona distribuzione.

Attualmente Oracle ha una versione di ODP.NET completamente gestita, che consente agli sviluppatori di connettersi ai database Oracle facendo riferimento a una sola DLL. Ulteriori informazioni qui .

Le versioni correnti sono disponibili qui .

Il client della libreria aziendale System.Data.OracleClient è una valida alternativa al provider ODP.NET di Oracle. Ci sono alcuni avvertimenti che dovresti sapere, tuttavia, l'uso del client Microsoft renderà estremamente difficile lavorare con qualsiasi tipo di oggetti di grandi dimensioni che siano stringhe XML, CLOB, LOB o BLOB. Inoltre, la colonna Oracle XmlType non è supportata e deve essere trasmessa a un CLOB per essere restituita in OracleClient.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top