• ADADADADAD

    nhibernate oracle 配置[ 编程知识 ]

    编程知识 时间:2024-12-18 16:47:41

    作者:文/会员上传

    简介:

    使用NHibernate连接Oracle数据库是很常见的操作,本文将介绍如何配置NHibernate连接Oracle,并提供一些运用实例。首先,在配置中需要添加一个引用Oracle的数据供应程序:<add name=

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    使用NHibernate连接Oracle数据库是很常见的操作,本文将介绍如何配置NHibernate连接Oracle,并提供一些运用实例。

    首先,在配置中需要添加一个引用Oracle的数据供应程序:

    <add name="OracleClient" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory" />

    然后,在配置文件中定义数据连接字符串。下面的代码是一个例子:

    <connectionStrings><add name="Orcl" connectionString="Data Source=HOST_OR_IP:PORT/SERVICE_NAME;User ID=USER;Password=PASSWORD;Validate Connection=true;Pooling=true;" providerName="OracleClient" /></connectionStrings>
    其中的HOST_OR_IP、PORT、SERVICE_NAME、USER和PASSWORD需要替换为具体的值。

    接下来是配置NHibernate的部分。下面的代码是配置NHibernate连接Oracle的例子:

    <hibernate-configuration><session-factory><property name="connection.provider"    >NHibernate.Connection.DriverConnectionProvider</property><property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property><property name="connection.connection_string">Data Source=HOST_OR_IP:PORT/SERVICE_NAME;User ID=USER;Password=PASSWORD;Validate Connection=true;Pooling=true;</property>    <property name="connection.release_mode">on_close</property><property name="show_sql">false</property><property name="dialect">NHibernate.Dialect.Oracle10gDialect</property><mapping assembly="YourAssembly" /></session-factory></hibernate-configuration>

    其中,connection.provider和connection.driver_class需要设置为NHibernate默认的值,而connection.connection_string需要设置为之前定义的连接字符串。dialect需设置为Oracle数据库的方言,这里使用的是NHibernate的Oracle10g方言。

    此外,还应该注意Oracle数据库架构名称的区别,例如Orcl提供的HR表的完整名称是HR.EMPLOYEES,而不是EMPLOYEES。如果设置不当,可能会出现找不到表或视图的问题。

    最后,例如下面的代码展示了如何通过NHibernate连接Oracle并查询数据:

    ISessionFactory sessionFactory = new Configuration().Configure().BuildSessionFactory();ISession session = sessionFactory.OpenSession();IQuery query = session.CreateQuery("from Employee e where e.Department=:department").SetParameter("department", "IT");IList list = query.List();foreach (Employee employee in list){Console.WriteLine(employee.Name);}

    本文介绍了如何配置NHibernate连接Oracle,并提供了一些示例。希望读者能够在实践中得到更多的经验。

    nhibernate oracle 配置.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载