CYQ.Data 支持 DaMeng 达梦数据库
DaMeng 达梦数据库介绍:
达梦数据库(DMDB)是中国自主研发的关系型数据库管理系统,由达梦科技股份有限公司开发。
达梦数据库提供了企业级的数据库解决方案,广泛应用于金融、电信、政府、制造等行业领域。
达梦数据库具有以下特点和优势:
- 高性能:具备高性能的并发处理能力,能够支持大容量和高并发的数据访问需求。
- 高可靠性:采用了多种数据保护机制,包括事务管理、数据备份恢复等,保障数据安全和稳定性。
- 高可扩展性:支持集群部署和分布式架构,能够灵活扩展以满足不同规模的数据存储需求。
- 兼容性强:兼容SQL标准,支持PL/SQL存储过程和触发器,同时也提供了丰富的工具和接口。
- 自主创新:在安全、性能、高可用性等方面不断进行技术创新和研发,满足用户不断变化的需求。
总体来说,达梦数据库作为国产数据库管理系统,在国内市场具有一定的地位和影响力,受到一些企业用户的青睐和选择。
CYQ.Data 框架简介:
好几年没写 CYQ.Data 框架的文章了,一直都在低调更新版本和源码,这里就简单引用一下 GTP4 的介绍:
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 管理器,直接搜 cyq.data,找到对应的 DaMeng 版本,引入即可。
之前仅是发布了 cyq.data 原始版本,没有提供对应集成驱动的单独版本,今年刚添加的,一添加就十来个,多了不少工作量。

cyq.data 原始版本和 cyq.data.dameng 版本的区别:
cyq.data 原始版本: 不包含其它数据库驱动,需要自行引用对应数据的驱动:比如使用mysql数据库时,需要再引用 mysql.data.dll 驱动。如果引用 cyq.data.mysql,则里面包含了 mysql.data.dll 驱动。 cyq.data.dameng 版本: 同样,里面集成了对应的数据库驱动,不用再单独引用。
3、支持的版本:
从下图可以看如,一如即往,从.net 2.0 一路支持到 .net 8 及以上。

4、数据库链接语句:
随便 CYQ.Data 支持的数据库越多,有些数据库的语句都一样,无法再根据关键字信息来识别,于是在语句上支持了provider:
链接语句示例:
provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;
链接语句配置:
{
"ConnectionStrings": {
"Conn": "provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;"
}
}
5、使用示例:
框架默认会引用配置中 Conn 的链接,所以在代码中无需指定。
1、无实体:
使用 MAction 操作表、视图,带分页:
using (MAction action = new MAction("表名、视图名、sql查询语句"))
{
MDataTable dt = action.Select(1, 10, "id>10");
}
使用 MProc 操作原始sql语句或存储过程:
using (MProc proc=new MProc("sql语句、存储过程名"))
{
MDataTable dt = proc.ExeMDataTable();
}
2、有实体:
A、纯实体
public class Users
{
public int ID { get; set; }
public string Name { get; set; }
} 使用: List<Users> users=DBFast.Select<Users>(1,10,"id>10");
B、实体继承自 CYQ.Data.Orm
public class Users:CYQ.Data.Orm.SimpleOrmBase<Users>
{
public Users()
{
base.SetInit(this, "表名");
}
public int ID { get; set; }
public string Name { get; set; }
} 使用: using(Users user = new Users())
{
List<Users> users = user.Select(1, 10, "id>10");
}
以上仅展示查询功能,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、DaMeng 数据库的基础说明:
在安装或使用 DaMeng 达梦数据库时,可以通过安装后的DM管理工具,来管理数据库

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

可以看到,达梦和常规的数据库比较不一样,你可以这样理解它:
1、单数据库:
一个实例只有一个数据库,一个进程或服务,只管理一个数据库。
【对标以往其它数据库,都是一个实例对应多个数据库。】
因此,打开管理工具时,就没能再看到新建数据库这种常规操作,初入时,会有点MengBiBi。
2、多模式:
一对一的关系,让实例即数据库,可省掉了数据库这个中间概念。
同时支持多种模式,通过新建模式,区分库的概念,可理解为新建数据库。
【对标有些数据库:支持多数据库和多模式,所以多模式又不完全是多数据库的替代概念。】
基于它这种实例即数据库的模式,因此数据库链接中,不再需要指定数据库名称,但要指定模式名称:
重新看一下这个示例的数据库链接语句:
provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;
3、创建多个数据库,需要创建新的实例:
通过DB数据库配置助手,可以创建新的实例:

在创建实例过程中,还是可以看到数据库名称和实例名称可以命名编写的:

默认字符串查询比较是区分大小写的,如果不想区分,可以取消这个选项:

做为一篇介绍框架支持数据库的文章,就不过多的介绍介绍数据库本身了,有用到的,可以上官方了解更多。
总结:
CYQ.Data 是一个用于操作数据库的框架,可以方便地连接和管理各种类型的数据库。在操作达梦数据库时,使用 CYQ.Data 框架可以提供以下功能和优势:
连接数据库:CYQ.Data 可以轻松地建立与达梦数据库的连接,通过简单的配置即可实现连接功能,节省了开发人员的时间和精力。
执行 SQL 查询:使用 CYQ.Data 可以方便地执行各种 SQL 查询操作,包括查询数据、更新数据、插入数据等,同时还支持事务处理,确保数据操作的准确性和完整性。
参数化查询:CYQ.Data 支持参数化查询,可以有效防止 SQL 注入攻击,提高数据库操作的安全性。
数据库事务:通过 CYQ.Data 框架可以轻松管理数据库事务,确保多个操作的原子性,避免数据不一致的情况发生。
总的来说,使用 CYQ.Data 框架操作达梦数据库可以简化开发流程,提高开发效率,同时也增强了系统的稳定性和安全性。
CYQ.Data 支持 DaMeng 达梦数据库的更多相关文章
- 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作
由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...
- 国产达梦数据库的结合Enterprise Library的应用开发
在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数 ...
- 达梦数据库产品支持技术学习分享_Week2
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.文本命令行工具使用的方法(Disql和dmfldr) 二.数据库备份 三.定时作业功能 四.系统表和动 ...
- CYQ.Data 支持分布式数据库(主从备)高可用及负载调试
前言: 继上一篇,介绍 CYQ.Data 在分布式缓存上支持高可用,详见:CYQ.Data 对于分布式缓存Redis.MemCache高可用的改进及性能测试 本篇介绍 CYQ.Data 在对数据库层面 ...
- 达梦数据库产品支持技术学习分享_Week1
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...
- Activiti5.22.0扩展支持达梦数据库
前言 目前国内部分公司做的项目要求去ioe使用国产的替代方案.数据从异构数据库中迁移到达梦,应用中使用Activiti工作流在替换了数据库驱动后启动过程报错如下: nested exception i ...
- .NETCore 访问国产达梦数据库
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...
- [开源] .Net 使用 ORM 访问 达梦数据库
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...
- Linux平台达梦数据库V7单实例安装方式之图形方式
一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...
- [转帖]达梦数据库(DM6)和ORACLE 10g的异同点
达梦数据库(DM6)和ORACLE 10g的异同点 https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...
随机推荐
- docker 镜像导出和导入(适用于内网无法拉镜像的问题)
1.在外网将镜像从指定的仓库拉下来 docker pull consul 现在已将consul镜像拉到了可连外网的服务器 2.将镜像把包到指定的tar文件中 docker save consul:l ...
- PGO前瞻
原文在这里. 原文发布于2023年2月8日 在构建Go二进制文件时,Go编译器会进行优化,以尽可能生成性能最佳的二进制文件.例如,常量传播可以在编译时对常量表达式进行求值,避免了运行时的计算开销:逃逸 ...
- 【Jmeter】基础介绍-详细
最近做压测时使用到Jmeter,为什么用它,之前也做过部分压测,不是很系统,使用的是Apache Bench,虽然效率高,但是功能比较简单,不太适合本次压测场景,另外Jmeter能更好的利用压测机的多 ...
- win10安装wget,从此可以更快的下载文件 and windows10 下 zip命令行参数详解
1.win10安装wget 1.1安装下载 GNU Wget 1.21.3 for Windows 依次如下: 2.将下载好的wget.exe放到 C:/windows/system32文件夹下 也可 ...
- 移动端跨平台动效工具Lottie, PAG的使用
动效工具Lottie Lottie 是 Airbnb 开源的一套跨平台的完整的动画效果解决方案,设计师可以使用 Adobe After Effects 设计出漂亮的动画之后,使用 Lottic 提 ...
- 14代i5-14600K现身:多核性能提升多达11%
14代酷睿桌面端还未发售,就陆续在跑分平台上露出. 平台规格为Z790主板.32GB DDR5-5200内存,酷睿i5-14600K的单核成绩为2819,多核成绩为16666,对比酷睿i5-13600 ...
- 多进程|基于非阻塞调用的轮询检测方案|进程等待|重新理解挂起|Linux OS
说在前面 今天给大家带来操作系统中进程等待的概念,我们学习的操作系统是Linux操作系统. 我们今天主要的目标就是认识wait和waitpid这两个系统调用. 前言 那么这里博主先安利一下一些干货满满 ...
- Windows更换笔记本电脑需要迁移和删除的内容清单
一.需要迁移的内容清单 1.桌面和磁盘中重要的文件或者文件夹 2.chrome.Edge等浏览器的书签,可以导出 3.常用的软件安装包 (1).输入法(百度.或者搜狗) (2).浏览器(Chrome浏 ...
- 顺着这份Java面试地图,国内一二线互联网公司随便进...
原创:陶朱公Boy(微信公众号ID:taozhugongboy),欢迎分享,转载请保留出处. 前言 临近春节,这几天手头没什么事情,花了点时间,将自己近两年收集的面试真题,进行了一番深度归纳总结,整理 ...
- typora beta版本 typora免费版 typora 0.11.18 下载
壹 ❀ 引 typora从1.0.0正式版开始就不再免费了,可能有一些开了自动检测更新的同学,在某次打开typora就看到了购买以及试用天数的弹窗,但typora正式之前的beta版依旧免费,这里就分 ...