castle配置数据库连接问题

castle  官方文档太郁闷了
IDictionary<string, string> properties = new Dictionary<string, string>();
     //sqlserver
     properties.Add("connection.driver_class", "NHibernate.Driver.SqlClientDriver");
     properties.Add("dialect", "NHibernate.Dialect.MsSql2008Dialect");
    properties.Add("connection.connection_string", "UID=sa;Password=mythzz;Initial Catalog=BZ_Ban;Data Source=.");
    properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
    properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
        //oracle
        //properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
        //properties.Add("connection.driver_class", "NHibernate.Driver.OracleClientDriver"); 
    //properties.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");    

 //其中官网为OracleDialect,一直报错误([NHibernate.MappingException] = {"Could not compile the mapping document: (string)"}InnerException = {"Could not instantiate dialect class NHibernate.Dialect.Oracle11gDialect"}) ,通过比对mssql产生的xml文件,修改了字段类型都没用,最后看到有的配置里有带版本号,试着加了个版本号居然成功,真让人无语的官方说明文档。

 

 //properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");

        //properties.Add("connection.connection_string", "Data Source=ora3;User ID=mythzz;Password=mythzz;");
        properties.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");
        properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
        properties.Add("connection.connection_string", "Data Source=ora3; User ID=mythzz; Password=mythzz");
        properties.Add("connection.driver_class", "NHibernate.Driver.OracleClientDriver");
        properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
         
        System.Reflection.Assembly ass = System.Reflection.Assembly.Load("Modle");
        InPlaceConfigurationSource source = new InPlaceConfigurationSource();
        source.Add(typeof(ActiveRecordBase), properties);

        ActiveRecordStarter.Initialize(ass, source); 

posted @ 2011-02-21 17:25  mythzz  阅读(723)  评论(0编辑  收藏  举报