一、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和端口,直接指定服务名即可连接集群,并且只会连接主库。
到此,数据库的服务名连接方式就完成了。
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,