使用C# Net6连接国产达梦数据库记录

达梦官网:http://www.dameng.com/

1 下载达梦并进行安装

复制代码
下载地址:官网首页------服务与合作------下载中心(https://www.dameng.com/list_103.html)
根据需要自行下载需要的版本,测试版本为:x86  win64 DM8版本
注意:安装时请通读用户手册第一章:DM8 安装手册(https://eco.dameng.com/document/dm/zh-cn/pm/net-rogramming-guide.html)
安装过程中,下面步骤可直接下一步:

2 新建数据库,使用"DM数据库配置助手"建立数据库

复制代码
使用语句建表
注意:数据库中的表空间类似SQL Server中的文件组
     建表语句最后一个字段的结尾不能有逗号;
     语句中不能包含中括号;
     max和datetime2关键字不可用;
 图形化建表:需在用户同名的模式下找到 表------新建表

3 创建API项目,添加数据库驱动

复制代码
数据库驱动在安装目录下的"drivers"中,可将这个文件夹下的相应版本文件夹添加到Nuget中,使用Nuget进行管理
测试使用:dotNet------EFCore.Dm6.0

4 进行开发,连接数据库

参考文档:产品手册第三章:DM8 程序员手册------.NET Data Provider 编程指南

js 复制代码
var options = new DbContextOptionsBuilder()
//手册中未指明数据库,考虑到一个实例下面会有多个数据库,自行添加了数据库名
//有资料说不同的达梦数据库是以端口进行区分的,所以可以不使用数据库名
									.UseDm("SERVER=192.168.19.129;PORT=5236;DATABASE=TestData;USER=SYSDBA;PASSWORD=2024@1018")
									.UseInternalServiceProvider(
									new ServiceCollection()
													.AddEntityFrameworkDm()
													.BuildServiceProvider())
									.Options;
var context = new TestContext(options);
//通过语句添加的数据不知什么原因表名和字段名为全部大写,编程时需保持一致

5 针对大小写敏感进行处理

复制代码
1.使用语句建表时,需要给字段和表名使用双引号给括起来,否则会自动转为大写字母;
2.使用实体的[Column("数据库字段")]可进行控制;
3.新建数据库实例时,不勾选字符串比较大小写敏感;

6 如何添加账户

复制代码
资料来源:https://eco.dameng.com/document/dm/zh-cn/start/dm-user-mode-relation.html
可以使用SYSDBA在用户------管理用户中添加
用户名全大写
每个用户有一个默认的同名的模式,访问自己模式下的表、视图等,不需要加模式名,访问其他模式下的对象需要加上模式名。

7 语句

js 复制代码
--字段类型修改语句
alter table "表名" modify "字段名" varchar(10);
相关推荐
Omics Pro6 分钟前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
呆萌很30 分钟前
数据库逻辑结构设计
数据库
howdoyoudo20260639 分钟前
当新案例冲击旧框架:分类系统的宿命与修正路径
大数据·网络·数据库·人工智能·安全·ai·分类
自己的九又四分之三站台1 小时前
GeoPackage 到底适合什么场景:从 SQLite 容器到空间数据格式选型
数据库·oracle·sqlite
东方护航数据恢复(深圳)1 小时前
勒索病毒加密数据库怎么办?深圳 0 赎金解密恢复实录【东方护航数据恢复深圳店】
数据库·数据恢复·服务器数据恢复·勒索病毒·数据镜像
倔强的石头_1 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
数据库
苦瓜打怪兽1 小时前
PostgreSQL 报错“字段 datlastsysoid 不存在”排查与解决
数据库·postgresql
XLYcmy1 小时前
PDF 论文处理器 — 技术报告文档
数据库·python·网络安全·pdf·embedding·dify·rag
ShineWinsu2 小时前
对于Redis:RDB持久化的解析
linux·数据库·redis·缓存·面试·持久化·rdb
做运维的阿瑞2 小时前
MYSQL从语义到执行计划:UNION、EXISTS、IN 的深度辨析
数据库·sql·mysql