2010-12-02 18 views
8

que utiliza este código en la configuración hibernate.cfg.xml:No se pudo crear el controlador desde NHibernate.Driver.MySqlDataDriver

<?xml version="1.0"?> 
<hibernate-configuration xmlns= "urn:nhibernate-configuration-2.2"> 
    <session-factory> 

    <!-- SQLServer: Provider --><!-- 
    <property name="connection.provider"> NHibernate.Connection.DriverConnectionProvider </property>--> 

     <!-- SQLServer: Driver --> 
    <property name="connection.driver_class"> NHibernate.Driver.MySqlDataDriver </property> 

    <!-- SQLServer: Dialeto --> 
    <property name="dialect"> NHibernate.Dialect.MySQLDialect </property> 

    <!-- SQLServer: Connection String --> 
    <property name="connection.connection_string"> Database=nhibernate;Data Source=localhost;User Id=root;Password=xxxx</property> 

    <!-- Classe que será utilizada para Proxy 
     (LazyLoading) --> 
    <property name="proxyfactory.factory_class"> NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu </property> 
    </session-factory> 
</hibernate-configuration> 

Tengo un problema para crear la base de datos.

NHibernate.HibernateException: No se pudo crear el controlador desde NHibernate.Driver.MySqlDataDriver. ---> System.Reflection.TargetInvocationException: Excepción ha sido lanzada por el objetivo de una invocación. ---> NHibernate.HibernateException: no se pudo encontrar la implementación de IDbCommand y IDbConnection en el ensamblado MySql.Data. ...

¿Qué debo hacer?

Respuesta

23

Es simple: agregue Mysql.Data.dll a la carpeta bin del proyecto.

+2

Como nota al margen: si esta solución no funciona, haga un clic derecho en 'MySql.Data' en las referencias y establezca la opción' Copiar local' en 'True' –

+0

También debo agregar que necesita para agregar al proyecto principal de la aplicación web (o al proyecto que realmente se ejecuta) en lugar de simplemente a un proyecto de biblioteca estándar que contenga su código de acceso a datos. –

+1

Copy Local no necesariamente funciona. Con MSTest, tuve que copiarlo de la carpeta del paquete en la carpeta bin del proyecto de prueba. (Visual Studio 2013 SP1 RC) – George

Cuestiones relacionadas