visual studio 2017使用NHibernate4.0连接oracle11g数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了visual studio 2017使用NHibernate4.0连接oracle11g数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4642字,纯文字阅读大概需要7分钟。
内容图文
![visual studio 2017使用NHibernate4.0连接oracle11g数据库](/upload/InfoBanner/zyjiaocheng/895/69aea6eda7ec4e46aac27d70f2c7bea4.jpg)
visual studio 2017使用NHibernate4.0连接oracle11g数据库
?之前一直是公司用NHibernate2.1来做项目,连接oracle 10g的数据库,配置NHibernate的东西都是以前的同事做好了的,也怪自己太懒了,没尝试过配置这个东西,虽然一直在使用NHibernate做项目,前几天突然有想法想用NHibernate自己做一个项目,才发现配置一个NHibernate并没有想象中的简单,前前后后大概花了五天时间,也算是功德圆满,终于成功了!另外,网上找到的关于NHibernate的资料,大多数都是配置sql server数据库的,关于oracle这方面的资料也是实在是少,以免大家少走弯路,写个关于oracle的配置文章!
开发环境: visual studio 2017 Pro+oracle 11g(64bit)+NHibernate 4.0.0.4000
运行环境: windows 10 Pro (64bit)
一、前言
NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
在项目中安装NHibernate 4,我使用的是NuGet下载安装到我的项目中的;
项目结构:
NuGet安装NHibernate
第一步
第二步,在浏览下输入你要添加的引用,在要添加引用的项目上打上勾
二、oracle配置
<?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory name="NHibernateConfig"> <!--此处需要使用oracle公司官网提供的客户端驱动[我使用的版本为:32bit的ODTwithODAC112012.zip],微软framework4.0之后就移除了oracle连接dll--> <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property> <!--配置连接Oracle数据库字符串--> <property name="connection.connection_string"> User ID=informix;Password=gmgl;Data Source=glxt </property> <!--输出所有SQL语句到控制台--> <property name="show_sql">true</property> <!--dialect属性支持的方言选项值--> <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property> <!--将Hibernate查询中的符号映射到SQL查询中的符号--> <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property> <mapping assembly="informix.Model" /><!--此处指向的是项目Model层的程序集--> </session-factory> </hibernate-configuration>
安装好NHibernate之后,把E:\informix\packages\NHibernate.4.0.0.4000\ConfigurationTemplates下的Oracle.cfg.xml模板拷出来,然后放到你的Bin文件夹下,配置文件内容,如上,
特别需要注意的是属性:
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
属性dialect的值NHibernate.Dialect.Oracle10gDialect可以连接 oracle 10g,也可以连接oracle 11g的数据库,这点跟java的Hibernate是一样的
更多的属性配置见链接 http://www.cnblogs.com/siyunianhua/p/6794016.html
三、 Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio(简称ODTwithODAC)安装与visual studio 2017通过客户端连接数据库
ODAC简介
ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口(API)。OCI 通过一个动态运行库(ORA*.DLL)提供了一个标准的数据库存取库及函数,以在应用程序中建立连接。也可以使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。
我使用的是32位的ODAC,如下
ODAC 11.2 第 2 版和 Oracle Developer Tools for Visual Studio (11.2.0.1.2) |
下载文件 | ||
ODTwithODAC112012.zip 276 MB(289670995 字节) | ||
ODAC 安装说明 | ||
下载包括 |
||
Oracle Developer Tools for Visual Studio 11.2.0.1.2 | ||
Oracle Data Provider for .NET 4 11.2.0.1.2 | ||
Oracle Data Provider for .NET 2.0 11.2.0.1.2 | ||
Oracle Providers for ASP.NET 4 11.2.0.1.2 | ||
Oracle Providers for ASP.NET 2.0 11.2.0.1.2 | ||
Oracle Database Extensions for .NET 4 11.2.0.1.2 — 仅用于升级 | ||
Oracle Database Extensions for .NET 2.0 11.2.0.1.2 — 仅用于升级 | ||
Oracle Provider for OLE DB 11.2.0.1.0 | ||
Oracle Objects for OLE 11.2.0.1.0 | ||
Oracle Services for Microsoft Transaction Server 11.2.0.1.0 | ||
Oracle ODBC Driver 11.2.0.1.0 | ||
Oracle SQL*Plus 11.2.0.1.0 | ||
Oracle Instant Client 11.2.0.1.0 |
到oracle 官网下载一个oracle 11g对应64位的ODAC安装包,安装好之后,要让这个客户端能连接上数据库
把 客户端下的 product\11.2.0\client_1\Network\Admin\Sample下的两个文件 sqlnet.ora 和 tnsnames.ora,复制到它的上一层文件夹下,如图,
<一>
用记事本打开Admin下的 tnsnames.ora文件,修改端口为1521,修改实例名,和localhost,如图
修改了完之后,重启计算机。
使用visual studio 2017 通过oracle客户端连接数据库
打开工具/连接数据库
选择oracle数据库,然后确定
弹出下面那个文本框,输入你的数据库连接信息之后,点击测试链接,提示成功之后,就可以了
一切准备就绪之后,你需要在NHibernate的配置处理类中添加Oracle.DataAccess引用,然后一切都大功告成了!
资料:
http://www.cnblogs.com/lhking/p/3930711.html
http://blog.csdn.net/fjfdszj/article/details/6637998
https://github.com/nhibernate/nhibernate-core/blob/master/src/NHibernate/Driver/OracleManagedDataClientDriver.cs
如果有任何疑问,可以联系我的qq:364131167
内容总结
以上是互联网集市为您收集整理的visual studio 2017使用NHibernate4.0连接oracle11g数据库全部内容,希望文章能够帮你解决visual studio 2017使用NHibernate4.0连接oracle11g数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。