我使用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服务器。
感谢。
答案 0 :(得分:0)
仔细检查是否使用了正确的web.config。你提到的SQL Server
错误是MS SqlServer而不是mysql。
您是否忘记将此添加到您的web.config?
<configSections>
<section name="hibernate-configuration"
type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>