.net 连接达梦数据库开发环境部署

.net 开发环境部署

  1. 环境准备

|-------|-------------------|
| 测试工具 | Visual Studio2022 |
| 数据库版本 | dm8 |

  1. 搭建过程
    1 )创建新项目

    2 )选择创建空项目

    3 )配置新项目

    4 )右键 DM1 新建一个项


    5 )加 载 驱 动 , 新 建 添 加 引 用 , DmProvider.dll , 在 达 梦 数 据 库 安 装 目 录
    \drivers\dotNet\DmProvider 文件夹


    6 )代码中添加引用

    需注意在该项目应使用 里的 DmProvider.dll ,否则程序会报
    项目中引用的程序集之间存在版本冲突的错,具体来说,该项目引用了一个需要较高版本的 System.Runtime 程序集,而另一个程序集( DmProvider )引用的是一个较低版本的 System.Runtime 程序集。这种情况可能会导致编译或运行时出现问
    题。

|--------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|-------------------------|---|--------|
| 严重性 | 代码 | 说明 | 项目 | 文件 | 行 | 禁止显示状态 |
| 错误(活动) | CS1705 | 标识为"DmProvider, Version=1.1.0.20739, Culture=neutral, PublicKeyToken=7a2d44aa446c6d01"的程序集"DmProvider"所使用的"System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"版本高于所引用的标识为"System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"的程序集"System.Runtime" | dm | D:\.net\DM1\DM1\CSC | 1 | |

7 )添加 System 、 System.Data

8 )运行示例代码
运行代码前需要选择正确的启动对象才能启动成功,启动对象名应为想要启动的
文件的文件名

运行示例代码遇到报错,暂无法解决

  1. .NET操作数据库代码

一段完整的达梦数据库实现增删改查的代码如下:

1)数据库连接

DmConnection conn = new DmConnection();:创建了一个 DmConnection 类的实例 conn,用于数据库连接。conn.ConnectionString = "Server=192.168.104.21:5236; UserId=SYSDBA; PWD=SYSDBA;";:设置数据库连接字符串,指定了数据库服务器的地址、用户名和密码。conn.Open();:打开数据库连接。

通过设置cmd文本属性指定要执行的sql命令,即图中第一行,然后对cmd对象中的命令进行执行,即第二行,最后Console.WriteLine("dmprovider: insert success!");:在控制台输出一条消息,表示插入数据操作成功完成,输出的内容为 "dmprovider: insert success!"。

  1. 删,改

同增所述,都是先指定cmd的文本属性进行执行命令,然后通过cmd窗口打印输出结果

查代码和增删改不一样,需要对数据做出展示,所以在执行SQL查询命令后,需要返回一个数据读取器对象 reader,用于逐行读取查询结果,即DmDataReader reader = (DmDataReader)cmd.ExecuteReader()。然后通过string name = reader.GetString(0);:从数据读取器中获取第一个字段的值,将其存储在字符串变量 name 中。

Console.WriteLine("name:" + name);:在控制台输出每行数据的 name 字段值,格式为 "name: 值"。最后关闭数据读取器,打印查询成功的消息。

eco.dameng.com

相关推荐
白帽小丑40 分钟前
# 一次 MySQL DELETE 误操作的数据恢复尝试实录
数据库·mysql
Quincy_Freak3 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
2601_962683895 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程6 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_7 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
华山令狐虫8 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
IvorySQL8 小时前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源
Hoxy.R8 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
IvorySQL8 小时前
IvorySQL HTAP 实时湖仓接入引擎
数据库·postgresql·开源·htap·ivorysql
忧郁的紫菜8 小时前
WCF+JSON+实体对象与WebService+DataSet效率大比拼
数据库·oracle·json