2011-07-06 1 views
2

Création d'une application web asp.net simple pour tester les choses (sera évidemment refactoriser avant que tout soit construit pour un site de production), et j'essaye de me connecter à une base de données mysql en utilisant la dernière version de la bibliothèque d'entreprise, et je cours dans une erreur: "Le type MySqlClientFactory ne contient pas le ConfigurationElementTypeAttribute."Connexion MySQL 6 avec les données de la bibliothèque d'entreprise 5

Je suis passé par plusieurs différentes formes d'essayer de mettre en place la configuration, et basée sur tout ce que j'ai trouvé, il distillés à ceci: dans mon web.config j'ai ceci:

<configSections> 
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 
</configSections> 
<dataConfiguration defaultDatabase="MyDB"> 
<providerMappings> 
    <add name="MySql.Data.MySqlClient" databaseType="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.3.6,Culture=neutral,PublicKeyToken=c5687fc88969c44d"/> 
</providerMappings> 
</dataConfiguration> 
<connectionStrings> 
    <add name="MyDB" connectionString="Server=localhost;Database=MyDB;Uid=root;Pwd=****;" 
    providerName="MySql.Data.MySqlClient"/> 
</connectionStrings> 

et dans ma page default.aspx J'ai ceci:

protected void Page_Load(object sender, EventArgs e) 
{ 
    string sql = "select * from users"; 
    Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("MyDB"); 

    var reader = db.ExecuteReader(CommandType.Text, sql); 
    while (reader.NextResult()) 
    { 
     Response.Write(reader["userName"] + "<br />"); 
    } 
} 

donc, très simple ... mais encore une fois, l'erreur que je reçois est: « le type MySqlClientFactory ne contient pas le ConfigurationElementTypeAttribute. "

et je ne trouve aucune référence à cela ... le MSDN ne dit pas grand-chose sur cet attribut, et ce qu'il dit, je ne peux pas sembler se rapporter à ce que je fais ... tout l'aide serait appréciée.

Merci!

Répondre

1

EntLib ne prend pas en charge MySQL dès sa sortie de l'emballage. EntLibContrib a un bon MySql Data Provider. Celui publié, cependant, cible EntLib4.1. Je peux voir un effort de portage à v5.0 est under way mais le bloc d'accès aux données ne semble pas encore fait. Vous devrez peut-être vous mettre en communication.

L'usine que vous utilisez ne semble pas compatible EntLib. Vous pouvez trouver un bon traitement de ConfigurationElementTypeAttribute ainsi que d'autres conseils sur la façon d'étendre EntLib dans le Enterprise Library Extensibility Hands-on Labs.

+0

Merci, j'ai essayé ce port, et il a créé plus de problèmes que cela a résolu, mais je n'ai pas eu le temps de passer par les laboratoires, alors quand je le ferai, cela aidera probablement. –

Questions connexes