ToB企服应用市场:ToB评测及商务社交产业平台

标题: CYQ.Data 支持 KingbaseES人大金仓数据库 [打印本页]

作者: 吴旭华    时间: 2024-5-13 14:55
标题: CYQ.Data 支持 KingbaseES人大金仓数据库
KingbaseES人大金仓数据库介绍:

KingbaseES是一种关系型数据库管理系统,也被称为人大金仓数据库。KingbaseES 是北京人大金仓信息技术股份有限公司研发的,具有自主知识产权的通用数据库产品。
该产品面向事务处理类应用,兼顾各类数据分析类应用,可用做管理信息系统、业务及生产系统、决策支持系统、多维数据分析、全文检索、地理信息系统、图片搜刮等的承载数据库。
作为KingbaseES产品系列最新一代版本,KingbaseESV8在系统的可靠性、可用性、性能和兼容性等方面进行了庞大改进。
以下是一些关于KingbaseES数据库的特点和功能:
总体而言,KingbaseES是一个功能强大、稳固可靠、兼容性好的关系型数据库管理系统。
它在中国企业和政府机构中得到广泛应用,特殊是那些渴望创建在成熟开源技术底子上,同时具备贸易级支持和增强功能需求的组织。
CYQ.Data 框架简介:

CYQ.Data 是一个高性能且功能强大的ORM(对象关系映射)框架,支持包罗.NET Core在内的各种.NET版本。
它设计用于与多种数据库如MSSQL、MySQL、Oracle、Sybase、PostgreSQL、DB2、FireBird、SQLite、DaMeng、KingBaseES等,以合格式如Txt、Xml、Access、Excel和FoxPro等工作。
该框架旨在通过提供写日志、操作JSON和分布式缓存等功能,简化数据层操作,无需额外的库如Log4net.dll、newtonjson.dll或Memcached.ClientLibrary.dll。
该框架自豪于其低调但连续15年的更新,夸大其长期可靠性和对开发人员寻找稳固且多功能ORM办理方案的支持。
前言:

去年有群友问我,CYQ.Data 支不支国产数据库,当时候,没支持,只是给了些提示,让其自行通过开源代码支持了。
后来问的人多了,就开始支持了。
CYQ.Data 从去年年底开始支持国产数据库,下面就开始介绍相关内容。
1、开源地址:

https://github.com/cyq1162/cyqdata

2、 Nuget 引用

可以通过 nuget 管理器,直接搜 cyqdata,找到对应的 KingBaseES 版本,引入即可。

 
cyq.data 原始版本和 cyq.data.kingbasees 版本的区别:
  1. cyq.data 原始版本:
  2.   不包含其它数据库驱动,需要自行引用对应数据的驱动:比如使用mysql数据库时,需要再引用 mysql.data.dll 驱动。如果引用 cyq.data.mysql,则里面包含了 mysql.data.dll 驱动。
  3. cyq.data.kingbasees 版本:
  4.   同样,里面集成了对应的数据库驱动,不用再单独引用。
复制代码
3、支持的版本:

从下图可以看如,由于官方驱动未支持.net 2.0的缘故原由,因此从.net 4.0 一起支持到 .net 8 及以上。

4、数据库链接语句:

 随便 CYQ.Data 支持的数据库越多,有些数据库的语句都一样,无法再根据关键字信息来识别,于是在语句上支持了provider:
链接语句示例:
  1. provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;
复制代码
链接语句配置:
  1. {
  2.   "ConnectionStrings": {
  3.     "Conn": "provider=provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;"
  4.   }
  5. }
复制代码
5、使用示例:

框架默认会引用配置中 Conn 的链接,所以在代码中无需指定。
1、无实体:

使用 MAction 操作表、视图,带分页:
  1. using (MAction action = new MAction("表名、视图名、sql查询语句"))
  2. {
  3.     MDataTable dt = action.Select(1, 10, "id>10");
  4. }
复制代码
使用 MProc 操作原始sql语句或存储过程:
  1. using (MProc proc=new MProc("sql语句、存储过程名"))
  2. {
  3.     MDataTable dt = proc.ExeMDataTable();
  4. }
复制代码
2、有实体:

A、纯实体
  1. public class Users
  2. {
  3.     public int ID { get; set; }
  4.     public string Name { get; set; }
  5. }
  6. 使用:
  7. List<Users> users=DBFast.Select<Users>(1,10,"id>10");
复制代码
B、实体继承自 CYQ.Data.Orm
  1. public class Users:CYQ.Data.Orm.SimpleOrmBase<Users>
  2. {
  3.     public Users()
  4.     {
  5.         base.SetInit(this, "表名");
  6.     }
  7.     public int ID { get; set; }
  8.     public string Name { get; set; }
  9. }
  10. 使用:
  11. using(Users user = new Users())
  12. {
  13.     List<Users> users = user.Select(1, 10, "id>10");
  14. }
复制代码
以上仅展示查询功能,CYQ.Data 的操作,对十多种数据库,操作都是划一的。
如果还没有学过,可以看 CYQ.Data 相关教程。
1、V4 系列:https://www.cnblogs.com/cyq1162/category/216965.html
2、V5 系列:https://www.cnblogs.com/cyq1162/category/852300.html
6、KingBaseES 人大金仓数据库的底子说明:

在安装或使用 KingBaseES 人大金仓数据库时,可以通过安装后的数据库开发工具KStudio管理工具,来管理数据库

启动,输入账号进入界面后:
可以看到,默认都是小写标识,语句的关键字,是通过双引号包罗起来。

而且和上篇文章介绍的:CYQ.Data 支持 DaMeng 达梦数据库 明显不同。
关键信息:
  1. 1、KingBaseES 人大金仓数据库 是多数据库、多模式。<br>2、public 为默认模式,因此,默认情况下,我们可以在 public 模式下新建表即可。
复制代码
一开始没发现 public 是默认模式,都是新建模式在测试,这让我在一开始的时候,有点绕。
重新看一下这个示例的数据库链接语句:
  1. provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;
复制代码
从这个示例链接中,我们不仅要指定Database,同时也需要指定schema。
做为一篇介绍框架支持数据库的文章,就不过多的介绍介绍数据库本身了,有用到的,可以上官方了解更多。
总结:

CYQ.Data 是一个用于操作数据库的框架,可以方便地连接和管理各种类型的数据库。在操作 KingBaseES 人大金仓数据库时,使用 CYQ.Data 框架可以提供以下功能和优势:
总的来说,使用 CYQ.Data 框架操作 KingBaseES 数据库可以简化开发流程,进步开发服从,同时也增强了系统的稳固性和安全性。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4