请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dl

  [复制链接]
查看2744 | 回复18 | 2019-11-21 21:52:05 | 显示全部楼层 |阅读模式

由于我们开辟的辅助工具Database2Sharp必要支持多种数据库,固然我们一样平常使用SQLServer来开辟应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等数据库举行代码的快速生成。在此之前我不绝要求用户使用代码生成工具的时间,如果使用Oracle开辟,则需在开辟情况中安装Oracle客户端,以便继承使用微软的System.Data.OracleClient方式访问Oracle,不过如许开辟情况就会贫苦一些。别的还带来一个题目,使用这些驱动的时间,由于系统的限定,还会区分32位大概64位的题目,不能实现兼容性的访问。为了彻底办理这个题目,我们使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动。

1)代码生成工具先容

Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具从2005年开始至今,不绝伴随着我们的客户和粉丝们履历着过各种各样的项目开辟,在实际开辟中能带来服从的进步及编程的快乐。

Database2Sharp是一款告急用于C#代码生成以及数据库文档生成的工具,软件支持Oracle、SqlServer、MySql、PostgreSQL、Sqlite、Access以及国产达梦等数据库的代码生成,可以生成各种架构代码、生成Winform界面代码、Web界面代码(包罗EasyUI和BootstrapWeb界面)、Entity Framework实体框架代码、导出数据库文档、欣赏数据库架构、查询数据、生成Sql脚本等,还整合自界说模板和数据库信息的引擎,方便编写自界说模板调试和开辟。生成的框架代码支持多种数据库一起使用,也支持差别业务的数据库切割为多个库举行使用,是一种适应性非常强、弹性很好的应用框架。

Database2Sharp保举采取软件功能“Enterprise Library代码生成”来生成项目代码,这个架构体系生成整个项目工程框架,包罗实体类、数据访问类、业务类、Web页面代码、WCF相干服务层(可选)、Web API服务层(可选),以及各种服务的调用包装层代码等。该架构使用泛型及缓存机制,良好的架构极大简化代码,强大美满的基类机制使您以致不消编写一行代码就能顺遂运行。一个简朴点击频频鼠标就能完成一周代码量的代码生成工具,服从惊人、友爱体贴,真正的开辟好伴侣。

固然,开辟的过程是一个繁复、风雅的过程,因此Database2Sharp也汲取了来自我们本身的实际需求,以及许多同仁朋侪的宝贵意见,不绝在改进,不绝积极做到更好,以求到达一个更加完善、更加易用的境界。

在我们开辟软件的时间,办理方案项目基于肯定的分层构造,每个项目分层中,各个类的关系也是确定的,借助辅助工具(团结模板引擎)可以快速生成我们所必要的代码,并极大进步我们软件的开辟服从,Database2Sharp代码生成工具就是一款专门针对我们本身框架结构配套的开辟工具。

Database2Sharp代码生成工具,告急是基于数据库提取的元数据信息,根据表的信息和关系,字段信息等内容,生成我们框架所必要分层的类代码。

对于Winform开辟,可以根据Winform框架大概混合框架的窗体界面类,生成尺度的界面代码,列表界面默认具有分页查询、导入导出、高级查询、编辑、删除事件绑定,编辑界面则具有获取数据并体现在控件,生存后实验更新大概写入的操纵。

对于Web开辟,可以根据EasyUI控件界面大概Bootstrap控件界面的差别,生成对应的视图HTML代码和控制器类代码,同时这些界面默认也具有分页查询,导入导出,体现明细和生存数据的功能。

软件告急界面如下所示。

215502f0dwuo7x3nwn5bwn.png

2、代码生成工具中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库

起首通过Nugget步伐包下载一个Oracle.ManagedDataAccess.dll的文件,然后举行使用即可,颠末测试使用这个类库,可以无视数据库系统的位数,最告急的是镌汰了Oracle客户端的安装。

为了和原有的系统支持的OracleClient实现区分,以便继承保存原有方式的处理处罚,那么我们增长一个特别的OracleManaged类实现Oracle元数据的处理处罚即可。

215504zb686ki28er66hp8.png

应用这个Oracle.ManagedDataAccess方式,相对于OracleClient方式,我们险些不消变革任何对象的名称,只是换了一个定名空间而已,根本实现完全兼容。

有了这个获取数据的方式,固然必要对数据设置的界面增长一个OracleManaged的对应方式了,由于Oracle.ManagedDataAccess和OracleClient的毗连字符串有所差别的。

前者Oracle.ManagedDataAccess的毗连字符串变为:

  1. Data Source= (DESCRIPTION =
  2. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  3. (CONNECT_DATA =
  4. (SERVER = DEDICATED)
  5. (SERVICE_NAME = orcl.mshome.net)
  6. )
  7. );User ID=win;Password=win
复制代码

依照这个设置的参数我们修改下Oracle数据库毗连字符串的设置界面如下:

215505a01dluwlu10ug0lh.png

其中我们对于Oracle毗连字符串形貌部门,提示参考PLSQL Developer内里【资助】【支持信息】 【TNS名称】的对应部门即可,如下所示。

215505edjzvml11mhjvqmq.png

215505zsqz0qqyq02x2qrh.png

有了这些设置信息,我们就可以不管服务端大概当地的Oracle版本是32位的还是64位的,实现全部兼容,而且如果客户端没有安装Oracle客户端,还是可以访问Oracle服务端的数据的。

运行代码生成工具,可以得到Oracle的数据表等信息,可以在Oracle情况下,无需安装Oracle客户端,顺畅使用代码生成工具举行代码的开辟工作了。

215506ebzg4vupeheyhv7u.png

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则