Je reçois cette étrange erreur inexplicable lorsque j'ai téléchargé mon application sur un serveur pour tester. D'après ce que j'ai étudié, il semble être causé par des contradictoires mysql.data, la copie que j'ai téléchargée appartient à: 6.3.7.0. P>
Comment pourrais-je résoudre ce problème? Je pensais que le mettre dans la poubelle "remplacerait" celui-ci dans GAC? P>
Nhibernate.ExceptionS.GenericAdoException: Impossible d'exécuter la requête [SELECT THISO_ID comme ID18_0_, this_.Email comme courrier électronique18_0 _, P>
(Propriétés etc) p>
de [SQL: Sélectionnez ceci_.Id comme ID18_0_, this_.Email comme courrier électronique18_0_, P>
(Propriétés etc) p>
de System.InvalidcastException: [a] mysql.data.mysqlclient.mysqlconnection ne peut pas être coulé sur [B] mysql.data.mysqlclient.mysqlconnection. Tapez A origines de 'mysql.data, version = 6.2.3.0, Culture = neutre, PublickeyToken = C5687FC88969C44D' Dans le contexte "Par défaut" à l'emplacement 'C: \ Windows \ Assembly \ gac_msil \ mysql.data \ 6.2.3.0__c5687fc88969c44d \ Mysql.data.dll '. Type B Orientation de 'mysql.data, version = 6.3.7.0, Culture = neutre, PublickeyToken = C5687FC88969C44D' Dans le contexte "Par défaut" à l'emplacement 'C: \ Windows \ Microsoft.net \ Framework \ V4.0.30319 \ ASP temporaire. Fichiers nets \ root \ cb584441 \ 17e039bb \ assembly \ dl3 \ 6b14fe89 \ 804a4095_b2c0cc01 \ mysql.data.dll '. p>
chez mysql.data.mysqlclient.mysqlcommand.set_dbconnection (valeur dbconnection) sur system.data.common.dbcommand.system.data.idbcommand.set_connection (valeur idbconnection) sur Nhibernate.adonet.abactbatcher.prepare (IDBCommand CMD) à Nhibernate.adonet.abcastbatcher.executerAreader (idbcommand cmd) à Nhibernate.Loader.Loader.GuardReReReReReReReCet (IdbCommand ST, Boolean AutoDiscoverTypes, Boolean Callable, Sélection de la RowSelection, Séance d'IsessionImplementor) à Nhibernate.loader.Loader.doQuisery (IsessionImplementor Session, QueryParameters QueryParameters, Boolean RetourProxies) à Nhibernate.Loader.Loader.DequéryandinitializenonLazyCollections (SéanceImplementor Session, QueryParameters QueryParameters, Boolean Rackproxies) à Nhibernate.Loader.Loader.Dolist (Séance IsessionImplementor, QueryParameters QueryParameters) --- Fin de l'exception intérieure Trace de pile --- à NHibernate .Loader.Loader.dolist (Session IsessionImplementor, QueryParameters QueryParameters) sur Nhibernate.loader.loader.Listignore QueryCache (isresessionImplementor Session, QueryParameters QueryParameters) sur Nhibernate.Loader.Loader.Llicharser.List (Session IsessionImplementor, QueryParameters QueryParameters, Iset utilisateur code> this_ où this_.email =? et this_..password =? ] Les paramètres positionnels: # 0> WvewHQlNRyQNKjBAtPR1AwrWQj0nwfmIflO + r4mCJQWA1jZ9zRvefcGz6ZA69b3v # 1> 97403BA77F7C26BEC6B4F0A4F8509E02848CCD7DCF61D7DF5D79C3AAB2760E6AE1EB26F5D10D384E069F8C6089C47D3F1F0F17E7EBF30F71A68A39DF8863646F p>
utilisateur code> this_ où this_.email =? et this_..cassword =?] ---> p>
1 QueryPaces, IType [] RésultatTypes) sur Nhibernate.impl.SessionImpl.list (critères critèresImpl Critères, résultats ilist) à Nhibernate.impl.CriteriAimpl.List (Résultats ilistes) à Nhibernate.impl.Criteriimpl.unQueresult [T] () à Nhibernate.Criterion.Queryover Code> 1.Singleordfault () à Nhibernate.Criterion.quererover`1.nhibernate .Iqusever.Singleordfault () P>
3 Réponses :
Comme indique l'expection, vous utilisez deux versions différentes de MySQL. Version 6.2.3.0 code> et version
6.3.7.0 code>. À partir de ce point, je ne peux que deviner: peut-être que vous utilisez une DLL construite avec une version différente de MySQL (et permet d'installation côte à côte). P>
Salut @fischermaen, que dois-je faire alors? Je pense que celui du serveur exécute le 6.2.3.0 un. 6.3.7.0 est la copie de mon propre PC. J'ai essayé de supprimer la mysql.data du dossier bin et je reçois YSOD disant que la DLL est manquante.
@LULL: Vous devez utiliser la même version sur votre PC comme sur le serveur. C'est la seule solution.
Cela signifie-t-il que j'ai besoin d'obtenir le 6.2.3.0 mysql.data et le mettre dans mon projet?
J'ai eu le même problème mais des années plus tard!
Mon serveur est installé dans GAC The MySQL Connector 6.4.6 Version, mais je travaille avec la version 6.8.3, je reçois la "erreur ne peut pas être fausse". Je l'ai réparé en ajoutant la section suivante au fichier .config p>
+ pour
Bonjour à partir de 2021, votre réponse aide toujours les gens +1
J'ai eu le même problème, le conflit entre la version 18 et 19. Faire cela dans Web.Config. Définissez la nouvelle version sur celle que vous avez dans votre machine.
<dependentAssembly> <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.18.0" newVersion="8.0.19.0" /> </dependentAssembly>
Avez-vous une version piquée déployée et une autre version installée sur le serveur?
Salut Sam, ma version est 6.3.7.0 que je connaisse à coup sûr. Je pense que le serveur a déjà le 6.2.3.0 dans le GAC. Comment pourrais-je le faire fonctionner? Des conseils?