2012-03-29 22 views
26

Perché sto ricevendo "Impossibile trovare il provider di dati .Net Framework richiesto" quando si tenta di impostare una nuova origine dati in Visual Studio 2010 Professional?Impossibile trovare il provider di dati .Net Framework richiesto in Visual Studio 2010 Professional

mie statistiche:

  • Windows 7 64bit 16gig RAM
  • Visual Studio 2010 Professional
  • SQL Server 2008 (server A, i diritti completi di admin)
  • SQL Server 2008 (server B, pieno diritti di amministratore)

Ho avviato un'applicazione di test ASP.NET e quando provo ad aggiungere una nuova origine dati, ottengo:

Impossibile trovare il provider di dati .Net Framework richiesto. Non può essere installato.

Ho installato .NET 4.

Quando si crea la connessione e si fa clic su "Verifica connessione", la verifica ha esito positivo. SQL Server Management Studio si collega perfettamente e ho verificato le credenziali su tutto.

risposta

52

Ho visto resoconti di persone che hanno e un nodo aggiuntivo auto-terminante nel file machine.config. La rimozione ha risolto il problema. machine.config si trova in \Windows\Microsoft.net\Framework\vXXXX\Config. È possibile avere una moltitudine di file di configurazione in base a quante versioni del framework sono installate, incluse le varianti a 32 e 64 bit.

<system.data> 
    <DbProviderFactories> 
     <add name="Odbc Data Provider" invariant="System.Data.Odbc" ... /> 
     <add name="OleDb Data Provider" invariant="System.Data.OleDb" ... /> 
     <add name="OracleClient Data Provider" invariant="System.Data ... /> 
     <add name="SqlClient Data Provider" invariant="System.Data ... /> 
     <add name="IBM DB2 for i .NET Provider" invariant="IBM.Data ... /> 
     <add name="Microsoft SQL Server Compact Data Provider" ... />  
    </DbProviderFactories> 

    <DbProviderFactories/> //remove this one! 
</system.data> 
+2

CHE FUNZIONA !!!!!! Grazie!!L'ho visto in precedenza, ma non mi è venuto in mente di rimuovere la copia di 'remove this one! '. Inoltre, ho quattro file machine.config. Uno in versione 2 e versione 4 per 32 e 64 bit. Dovevo cambiare tutti e quattro. Grazie mille! +100000 – cbmeeks

+3

Nota sulla mia correzione - anche se la mia macchina è a 64 bit con .NET framework 4 -> era la rimozione dei riferimenti IBM.Data.DB2 ... in machine.config sotto .NET 2 che risolveva il bug con SQL Server Mgmt Studio –

+0

Ho provato questa correzione e ora VS2015 si chiude nella schermata iniziale e nessuna applicazione scritta in .Net4.0 verrà avviata. Qualche idea? – Noobie3001

2

Nel mio caso la voce di provider di dati per MySQL è stato "semplicemente" manca nel file machine.config descritto in precedenza (anche se avevo installato il connettore MySQL correttamente)

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 

Non dimenticare per inserire la versione corretta di MySQL su

+0

Nel mio caso mancava questa riga e reinstallare MySQL .Net Connector ha effettivamente aggiunto la riga mancante per me ... :-). Post scriptum Sto usando [questo link] (http://mirrors.dotsrc.org/mysql/Downloads/Connector-Net/) (non è necessaria la registrazione) – itsho

9

Mi piacciono gli altri suggerimenti, ma preferirei non aggiornare il file machine.config per una singola applicazione. Ti suggerisco di aggiungerlo a web.config/app.config. Ecco cosa ho bisogno di usare il MySql Connector/NET che ho "bin" distribuito.

<system.data> 
    <DbProviderFactories > 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 
+1

Ci sono tipi di progetti che non hanno 'web.config'. – ajeh

+3

Vale anche la pena notare che se sulla macchina è installata una versione diversa di un provider *, sarà necessario aggiungere un '' allo snippet sopra riportato. –

1

Ho riscontrato questo problema con la versione 6.7.4 e l'ho risolto installando la versione 6.5.6.

La mia configurazione è Windows 2008 R2 SP1 edizione Data Center, SQL Server 2008 R2 con Business Intelligence Development Studio (VS2008). Installazione di base.

Quando stavo installando 6.7.4, non potevo nemmeno vedere il provider MySQL come scelta. Tuttavia, quando ho esaminato il file machine.config, ho visto riferimenti per il provider di ruoli MySQL, ecc, ma non è stata aggiunta alcuna voce nel file.

+1

Questo è stato anche il mio problema ed è stato risolto installando "MySQL per l'integrazione di Visual Studio" come indicato qui: http://dev.mysql.com/downloads/connector/net/ Non sono onestamente sicuro di cosa lo è, ma lo hanno rimosso dal pacchetto di connettori in cui era precedentemente. – splitfeed

0

Pensavo che il mio problema fosse dovuto al mio machine.config per le risposte che ho trovato online ma il colpevole si è rivelato nel web.config del progetto che stava eliminando DbProviderFactories.

<system.data> 
    <DbProviderFactories> 
    <clear /> 
     ... 
    </DbProviderFactories> 
</system.data> 
Problemi correlati