SQL Server改MySQL注意事项

主要是NHibernate连接MySQL注意事项:

  1. 在website的bin目录里添加MySql.Data.dll(可在官方下载)和hibernate.cfg.xml
  2. 启用新的OpenSession()方法
  3. 通过ADO连接数据库的方式会出现“用户名root无法登陆”的错误提示。所以全部通过NHibernate连接,使用NHibernate的函数。
  4. 在电脑上安装MySql的时候注意选择“Developer Machine”.要不然会出现无法启动MySql服务的错误:
  5. T-SQL和MySql一些常见的不兼容。
    • top 10 -> limit index,length
    • dbo. -> 空
    • getDate() -> NOW()
    • DATEADD(mi,15,GETDATE()) -> DATE_ADD(NOW(), INTERVAL 15 MINUTE)
    • .....

参考:

 

    1. hibernate.cfg.xml

 

<?xml version="1.0" encoding="utf-8"?>
<!--
This template was written to work with NHibernate.Test.
Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
for your own use before compile tests in VisualStudio.
-->
<!-- This is the ByteFX.Data.dll provider for MySql -->
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.0" >
    <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
        <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
        <property name="connection.connection_string">
            Database=clientsystem_dbo;Data Source=127.0.0.1;User Id=root;Password=123456
        </property>
    
    <property name="dialect">NHibernate.Dialect.MySQLDialect</property>
        <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>  
    <property name="hbm2ddl.keywords">none</property>

  </session-factory>
</hibernate-configuration>

  1. OpenSession()       //MySql 初始化session配置
            public static ISession OpenSession()
            {
                try
                {
                    ISession session = null;
                    if (m_factory == null)
                    {
                        m_factory = m_cfg.Configure().Configure().AddAssembly(AssemblyClassName).BuildSessionFactory();
                        session = m_factory.OpenSession();
                    }
                    else
                    {
                        session = m_factory.OpenSession();
                    }
                    return session;
                }
                catch (Exception e)
                {
                    return null;
                    throw e;
                }
            }

转载于:https://www.cnblogs.com/Liao/archive/2011/08/17/2142787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值