SqlSugar框架连接达梦主备实现高可用及解决程序高并发条件下与数据库断连的方法

一、SqlSugar连接达梦数据库主备集群

1:环境说明

(1)数据库版本:DM8(2节点实时主备)
(2)开发工具:visual studio 2022
(3).NET版本:.NETCore 5.0.0
(4)SqlsugarCore版本:SqlSugarCore 5.1.4.167
(5)SqlSugarCore.DM版本:SqlSugarCore.DM 8.6.0
(6)DmProvider.dll版本:8.3.1.27409

2:配置达梦服务名连接方式

配置服务名连接数据库,是实现高可用的一个前提。通过读取服务名的配置信息,应用程序能根据具体要求去动态连接数据库节点,比如实现只连接主库、读写分离等要求。
一般情况下,在数据库安装完成后,在安装环境下会自动生成服务名的配置文件dm_svc.conf。如果没有,在对应的路径下创建也可。
windows环境下,该文件在C:\Windows\System32下;linux环境下,该文件的路径为/etc下。
本次以配置两节点主备集群的服务名为例,配置参考如下:

TIME_ZONE=(480)
LANGUAGE=(cn)
DMDW=(192.168.100.88:7236,192.168.100.88:7237)
[DMDW]
LOGIN_MODE=(1)

该配置的含义是,默认连接集群中的主库,无论主库在那个节点上。
配置完成后,可通过disql工具验证配置情况,如图:
配置服务名后,便可以不用指定具体的IP和端口,直接指定服务名即可连接集群,并且只会连接主库
配置服务名后,数据库的连接便可以不用指定具体的IP和端口,直接指定服务名即可连接集群,并且只会连接主库。
到此,数据库的服务名连接方式就完成了。

3:运行代码,调试并连接方式

(1)示例代码

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using SqlSugar;

namespace SqlSugarScopeConnectionDemo
{
   
    class Program
    {
   
        static async Task Main(string[] args)
        {
   
            // 数据库连接字符串配置,需自行修改
            var connectionString = XXXXXXXXXXXXXXXX";
            // 输出实际传递给数据库的连接字符串
            Console.WriteLine("实际传递给数据库的连接字符串:");
            Console.WriteLine(connectionString);

            // 使用 SqlSugarScope 管理数据库连接
            SqlSugarScope db = new SqlSugarScope(new ConnectionConfig()
            {
   
                ConnectionString = connectionString,
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值