简介

    达梦数据库管理系统是达梦公司推出的一款具有完全自主知识产权的高性能数据库管理系统,简称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讲堂

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐