Domanda

Ho un form un'applicazione ASP.NET Web che sto costruendo e funzionante contro .NET 4.0 su una macchina locale Win7. (Tutto è OK sulla scatola locale.) La mia applicazione è in esecuzione EF4.1 contro un DB Oracle, quindi sto usando il provider di dati Oracle EF, che è ancora in Beta.

In questo momento, posso implementare con successo l'applicazione al mio computer di destinazione Win2008 Server utilizzando Web Deploy dal mio VS2010 locale, ma quando faccio funzionare l'applicazione sul bersaglio, ottengo l'errore Unable to find the requested .Net Framework Data Provider classica.

Ecco il mio (senza successo) messa a punto, fin d'ora:

  • applicazioni a 32 bit sono abilitato nella piscina app (NET 4.0) sulla Win2008 Server di destinazione.

  • copia locale è impostato su true per la DLL Oracle.DataAccess nella mia soluzione VS2010 locale.

  • Entrambi del Piattaforma e obiettivo della piattaforma Impostazioni sono impostati su Qualsiasi CPU nel mio Corporatura locali di configurazione. (Ho provato diverse impostazioni qui senza successo).

  • L'obiettivo Win2008 Server fa non hanno una DLL in Oracle.DataAccess GAC. (Ho pensato che l'impostazione di copia locale sul Oracle DLL avrei Intendo dire che non ho bisogno GAC).

Modifica : ho cercato di GAC DLL Oracle.DataAccess, ma ottengo lo stesso errore che viene discusso qui . (Devo ancora indagare su questo.) Inoltre, v'è già un altro client Oracle sulla mia casella di destinazione, e l'installazione del client Oracle che viene fornito con il provider di dati Oracle EF sembra interferire con esso. Questo non può essere permesso di accadere.

Domanda 1 : Quale combinazione di impostazioni di configurazione di build (sulla scatola locale) e IIS impostazioni (sul target) ho bisogno di selezionare in modo da essere in grado di eseguire il mio app sul 2008 Server?

Domanda 2 : Come posso ottenere questo al lavoro senza installare un altro client Oracle sul mio server di destinazione?

Grazie ancora per l'aiuto.

Aggiornamento: Tutto sta lavorando . Vedere la mia risposta qui sotto per un link alla soluzione completa, così come i collegamenti alle informazioni utili.

È stato utile?

Soluzione 2

La soluzione di GTG fornisce almeno una parte della risposta alla mia interrogazione 1, quindi sono upvoting la sua soluzione. Per chiunque altro interessato a mia interrogazione 2 (come eseguire un'installazione ODAC discreta), una risposta può essere trovata qui . (Cercare la risposta di AnthonyVO, in quanto racchiude in sé tutte le informazioni necessarie.)

Devo dire che non ho ancora stato in grado di ottenere la soluzione discreta a lavorare per me, ma molti hanno, ed è la soluzione che ho bisogno di implementare.

UPDATE: Caso chiuso. Mi mancava una DLL Oracle. La mia piena configurazione è mostrata qui .

Altri suggerimenti

Dal momento che il server non ha Oracle.DataAccess nel GAC, che indica che non è stato installato il client Oracle su quella macchina e stanno cercando di farlo funzionare schierando Oracle.DataAccess.dll come parte della vostra applicazione .

Io non sono molto sicuro di quello che deve essere installato sul server. Io di solito basta eseguire l'installazione Oracle sul server per garantire che tutti i file e le impostazioni necessarie Oracle vengono installati. Se lo fai, non è necessario distribuire Oracle.DataAccess.dll insieme con la tua applicazione, sarà già nel GAC del server.

Una cosa che so è bisogno è un'impostazione di configurazione che indica al sistema come creare una nuova istanza del provider. Si può cercare di aggiungere che l'impostazione al vostro web.config e provare se questo è sufficiente, ma ancora una volta, ci può essere un sacco di DLL dipendenti e delle impostazioni necessarie per il provider Oracle al lavoro.

L'impostazione è (questo è per un'altra versione di ODP.Net, troverete le impostazioni corrette nel machine.config sulla propria macchina):

<system.data>
  <DbProviderFactories>
     <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client"
          description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top