2010-06-09 18 views
0

J'utilise ASP.NET + un MySql Db. Je suis en train de configurer un ListView donc je l'ai écrit:Erreur ASP.NET lors de la tentative de configuration de ListView + SqlDatasource pour une table MySql

<asp:SqlDataSource ID="dsDatiUtente" runat="server" ConnectionString="Server=12.28.136.29;Database=mydb;Uid=m111d1;Pwd=fake;Pooling=false;" 
       ProviderName="MySql.Data.MySqlClient" 
       SelectCommand="SELECT * FROM user WHERE [email protected]" 

/>

Au début de ma page aspx J'ai ajouté

<%@ Import Namespace="MySql.Data.MySqlClient" %> 

Mais si je clique à la sqldatasource et cliquez sur "Refresh Schema" j'ai eu cette erreur:

"Impossible de retriver schéma .... Impossible de trouver le fournisseur de données .Net Framework demandé"Par exemple, je l'ai installé, mais j'ai également désinstallé l'ancienne version, puis installé de nouvelles versions. Dans mon projet, je copie simplement Mysql dll dans le dossier "bin", puis ajouter une référence à cette DLL. Je ne suis pas sûr est la manière corrigée ...

Je dois avoir le "schéma rafraîchi" pour permettre à vsnet de construire automatiquement ma liste ... si je ne peux pas "construire automatiquement" listview , je dois écrire tout le code à la main, et il est un travail trop cher :(me

Qu'est-ce que je me trompe?

Merci!

Répondre

0

Je l'ai résolu l'enregistrement composant mysql dans machine.config. C'était un problème d'installation. Donc, j'ai écrit dans mon machine.config cela:

<system.data> 
    <DbProviderFactories> 
     <clear/> 
     <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.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d " /> <!-- 13b67ce9e090fefa per la versione 6.3.1--> 
    </DbProviderFactories> 
</system.data> 
1

est-ce que vous modifiez votre code à quelque chose comme ce travail ?

Web.Co nfig

<configuration> 

<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.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 


    <connectionStrings> 
    <add name="MySQL1" 
    connectionString= "Server=12.28.136.29;Database=mydb;Uid=m111d1;Pwd=fake;Pooling=false;" 
    providerName="MySql.Data.MySqlClient"/>  
    </connectionStrings> 

ASPX Page:

<%@ Import Namespace="MySql.Data.MySqlClient" %> 

<asp:SqlDataSource ID="dsDatiUtente" runat="server" 
     ConnectionString="<%$ ConnectionStrings:MySQL1 %>" 
     ProviderName="<%$ ConnectionStrings:MySQL1.ProviderName %>" 
     SelectCommand="SELECT * FROM user WHERE [email protected];" 
     /> 
+0

pourquoi passer à la source oledbdat? Es-tu sûr que je ne perds pas de performance? – stighy

+0

Malheureusement, cela ne fonctionne toujours pas! Je pense qu'il y a quelque chose qui manque dans la configuration de vsnet. Mais je ne sais pas quoi ... – stighy

+0

@stighy: mise à jour répondre à nouveau .... –