从NHibernate连接到MySQL的问题

时间:2011-02-21 14:25:26

标签: .net mysql nhibernate

我使用NHibernate 3.0和MySQL作为数据库。在我的localhost上,我可以连接到数据库并执行我想要的任何操作。但是,每当我将文件上传到生产服务器时,都会收到错误消息:

“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)“

web.config文件包含以下部分:

<hibernate-configuration xmlns="urn:nhibernate-configuration">    
<session-factory >
  <property name="connection.provider" specificversion="false">NHibernate.Connection.DriverConnectionProvider</property>
  <property name="connection.driver_class" specificversion="false">NHibernate.Driver.MySqlDataDriver</property>
 <!--<property name="connection.connection_string" specificversion="false">
    Data Source=localhost;Port=3306;Database=sampledb;Uid=myuser;Pwd=mypass
    DSN=mydsn;UID=myuser;PWD==mypass
  </property>-->
  <property name="connection.connection_string">
    Server=localhost;Database=sampledb;User ID=myuser;Password=mypass;
  </property>
  <property name="proxyfactory.factory_class" specificversion="false">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>      
  <property name="dialect" specificversion="false">NHibernate.Dialect.MySQLDialect</property>      
  <property name="hbm2ddl.keywords" specificversion="false">none</property>
  <mapping assembly="App_Code.NHibernateHelpers" />
</session-factory>
</hibernate-configuration>

我甚至尝试过上面显示的注释部分中的连接字符串,但似乎没有任何工作......但是所有这些都在我的本地机器上工作。有人可以告诉我,我可能会失踪吗?我的生产服务器是运行.NET 2.x和MySQL连接器5.0.9的Windows 2003服务器。

感谢。

1 个答案:

答案 0 :(得分:0)

仔细检查是否使用了正确的web.config。你提到的SQL Server错误是MS SqlServer而不是mysql。

您是否忘记将此添加到您的web.config?

<configSections>
  <section name="hibernate-configuration"
  type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>