.NET Core连接dm达梦国产数据库

简介

    达梦数据库管理系统是达梦公司推出的一款具有完全自主知识产权的高性能数据库管理系统,简称DM。最新的版本是DM8,它采用全新的体系架构,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM8产品的品质。

.NET 连接dm达梦数据库

1、首先下载依赖包,可以通过命令或者在vs中使用包管理器

Install-Package  FreeSql.Provider.Dameng

或者

d96d380ea187bded32b2565981d47e2f.png

2、sqlhelper封装

貌似目前只支持ADO.NET

直接上代码:

using Dm;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace WomanChildrenAdmin.DAL
{
    public class SqlHelper
    {
        string connstr = "";
        public SqlHelper()
        {
            //从配置文件读取连接字符串
            //connstr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
            connstr = "Server=6.6.6.6;UserId=SYSDBA;PWD=123456;Database=Test";
        }
        public int Execute(string sql, List<DmParameter> param = null)
        {
            using (DmConnection conn = new DmConnection(connstr))
            {
                conn.Open();
                using (DmCommand com = new DmCommand(sql, conn))
                {
                    //参数化
                    if (param != null)
                        com.Parameters.AddRange(param.ToArray());
                    return com.ExecuteNonQuery();
                }
            }
        }
        public object ExecuteScalar(string sql, List<DmParameter> param = null)
        {
            using (DmConnection conn = new DmConnection(connstr))
            {
                conn.Open();
                using (DmCommand com = new DmCommand(sql, conn))
                {
                    //参数化
                    if (param != null)
                        com.Parameters.AddRange(param.ToArray());
                    return com.ExecuteScalar();
                }
            }
        }
        public DataTable QueryTable(string sql, List<DmParameter> param = null)
        {
            using (DmConnection conn = new DmConnection(connstr))
            {
                conn.Open();
                using (DmCommand com = new DmCommand(sql, conn))
                {
                    //参数化
                    if (param != null)
                        com.Parameters.AddRange(param.ToArray());
                    DataTable dt = new DataTable();
                    DmDataAdapter sda = new DmDataAdapter(com);
                    //把查询结果放入表格
                    sda.Fill(dt);
                    return dt;
                }
            }
        }
    }
}

注意dm达梦数据库参数化是使用:而不是和sqlserver一样的@

如下:

//注意这里列名也要加双引号不然提示列名找不到。参数化是使用:而不是和sqlserver一样的@
string sql = "select * from \"PERSON\".\"wac_users\" where \"username\"=:username";
List<DmParameter> paramList = new List<DmParameter>();
paramList.Add(new DmParameter(":username", wacUsersInput.username));
paramList.Add(new DmParameter("userpassword", wacUsersInput.userpassword));
DataTable dataTable = sqlHelper.QueryTable(sql, paramList);

结语

达梦数据库是比较成熟的国产数据库,目前通过FreeSql.Provider.Dameng包支持.NET。过程还是需要大家鼎力支持的,这样才能壮大国内软件开发生态,避免卡脖子。本文介绍了达梦数据库,希望对你有所收获,你都国产化的软件有啥看法,欢迎留言讨论。

参考来源:tnblog.net/15933888556/article/details/7779

版权声明:本文来源于网友收集或网友供稿,仅供学习交流之用,如果有侵权,请转告小编或者留言,本公众号立即删除。

- EOF -

技术群:添加小编微信dotnet999

公众号:Dotnet讲堂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值