456 lines
21 KiB
C#
456 lines
21 KiB
C#
/******************************
|
|
* 说明:数据库连接参数配置类
|
|
* 创建人:龚宇超
|
|
* 创建日期:2017-07-24
|
|
* 修改人:
|
|
* 修改日期:
|
|
* 修改备注:
|
|
* 版本:1.0.0.0
|
|
******************************/
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Microsoft.Win32;
|
|
using System.Data.SqlClient;
|
|
using System.Data;
|
|
using Lskj.Util;
|
|
using System.Net;
|
|
using System.Net.Sockets;
|
|
using System.Threading;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Data.Common;
|
|
|
|
namespace Lskj.Core
|
|
{
|
|
/// <summary>
|
|
/// 数据库连接参数配置类
|
|
/// </summary>
|
|
public sealed class DBConfig
|
|
{
|
|
private static string _regKey = "AA_LS_Erp V2.0";
|
|
private static DBConfig _instance = null;
|
|
/// <summary>
|
|
/// DBConfig静态单例对象
|
|
/// </summary>
|
|
/// <value>The instance.</value>
|
|
public static DBConfig Instance
|
|
{
|
|
get
|
|
{
|
|
if (_instance == null)
|
|
{
|
|
_instance = new DBConfig();
|
|
_instance.ReadConfig();
|
|
_instance.WriteConfig(false);
|
|
}
|
|
return _instance;
|
|
}
|
|
}
|
|
public static DBConfig MesInstance
|
|
{
|
|
get
|
|
{
|
|
if (_instance == null)
|
|
{
|
|
_instance = new DBConfig();
|
|
_instance.ReadConfig(false, true);
|
|
_instance.WriteConfig(false);
|
|
}
|
|
return _instance;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 数据库名
|
|
/// </summary>
|
|
public string DataBase;
|
|
/// <summary>
|
|
/// 帐套
|
|
/// </summary>
|
|
public string DataBook;
|
|
/// <summary>
|
|
/// 服务器名(登录服务器)
|
|
/// </summary>
|
|
public string ServerName;
|
|
/// <summary>
|
|
/// 登录名
|
|
/// </summary>
|
|
public string LoginName;
|
|
/// <summary>
|
|
/// 通知员工ID
|
|
/// </summary>
|
|
public string NoticeUserID;
|
|
/// <summary>
|
|
/// 通知员工姓名
|
|
/// </summary>
|
|
public string NoticeUserName;
|
|
/// <summary>
|
|
/// 系统筛选id
|
|
/// </summary>
|
|
public string ProGramme;
|
|
/// <summary>
|
|
/// 文件升级标志
|
|
/// </summary>
|
|
public bool UpdateSet;
|
|
///<summary>
|
|
///智能客户端启动
|
|
///</summary>
|
|
public bool SmallClient;
|
|
///<summary>
|
|
///智能客户端启动
|
|
///</summary>
|
|
public bool NoticeClient;
|
|
/// <summary>
|
|
/// The notice show window
|
|
/// </summary>
|
|
public bool NoticeShowWindow;
|
|
/// <summary>
|
|
/// The notice flicker
|
|
/// </summary>
|
|
public bool NoticeFlicker;
|
|
/// <summary>
|
|
/// The notice exit
|
|
/// </summary>
|
|
public bool NoticeExit;
|
|
/// <summary>
|
|
/// 内外外网标志
|
|
/// </summary>
|
|
public bool Internet;
|
|
/// <summary>
|
|
/// 是否注册过高拍仪
|
|
/// </summary>
|
|
public bool IsCmpCapture;
|
|
///<summary>
|
|
///是否记住密码
|
|
///</summary>
|
|
public bool IsRemPwd;
|
|
///<summary>
|
|
///选中内网
|
|
///</summary>
|
|
public bool IsInternalNetwork;
|
|
///<summary>
|
|
///选中数据库类型
|
|
///</summary>
|
|
public string ServerType = "SqlServer";
|
|
///<summary>
|
|
///内网地址
|
|
///</summary>
|
|
public string InternalNetworkAddress;
|
|
///<summary>
|
|
///外网地址
|
|
///</summary>
|
|
public string ExternalNetworkAddress;
|
|
/// <summary>
|
|
/// 班次
|
|
/// </summary>
|
|
public string BCName;
|
|
public bool IsConsumer;
|
|
public string Connection;
|
|
public string dephiConnection;
|
|
public string Connection1 = "QkYyNjE3QTcxQjc4RDFFMDlERjlFMDc1QkIyMDVGRjdDRUIyMEVEOUM5NjBCQjc5NTA5NzdEQTk0MkNEQTE1RTFGMEIwMThFNUJDQTE0RjE1NjQwM0U5QTYxMThCMDY2MTA4NkE2OTIxNTNBQjQ0MjRDMDIwM0Q5OEVDQjkwQTVCN0RENjJBODkxNUNGOUM5OEI5RTEzN0E3ODBERjg2OURCNEQ5QTlCMzhCQUZGQ0FBNUREMjY4M0FCODg2RTkxMDRERTQ3MjRGQTE1MERDOTJGRDFDRjY2REQ1ODYyREUzN0RGM0ZBQzc4NzJENjIwNDg4RUUyNkI3ODE1RjlDM0I0MjNCQzcyOENDN0VDMTg0QUU0MjgwMDVDMENBOUZF";
|
|
public string Connection1DM = "Nzg5REZBQ0IzMjYzQkQzRTZFRTExNjY5MThCNjUwQTUxNDFBRUY4QzREQkJCMEU4NjQyNUI3QzYzMzA0ODMwRkI4RTlBNTc0NDU0OUY2N0FBMUUxNzlERjU3NUJEN0RGNUM1MThBQzk2Qzg1OEQ1NTdFQkQwMkZDNDhGNkRERUZDMDVBRjVFN0E3QUUyNkREM0RBMjNBRTNCNjFFRjM2MA==";
|
|
public string Connection2 = "Njk5NTI5NDE5RUI2ODM4MEQ5MEJFQkU3NzM3REQxQThDREM4NzRFNUY3QzYzMkVEOEEzODRBMzJBRjIwRUY4Njg4Qjg3M0Q1MTY3MjAxRkY2OTNGMzk3MUZBRjMxMzdDQ0U4RjMxQUVERjdBQzI5MEExNjQ3ODlDNkEwODVBMUJDMUJGN0U2RUJENkMwQzhERTFCNzgyMjg1MjBFQkE2MkU4NjMyQjBEMDY0QjQ0MzVDQ0QxMjMzQTA3NjI3QjQyOTczQUJBMUI0OUNGMkE5REYzOTI2NDFBRTY3QzFGQTJCRDFDNUIzQ0FCMzA4QzEwMjc2MTI5QjU2MzgxMjBDN0MwNUFGNUU3QTdBRTI2REQzREEyM0FFM0I2MUVGMzYw";
|
|
public string Connection3 = "NjQ0OTQzRTY1MkUwQUUxQTdCQTlBRjkwRjI4QkU1MTRDNTc5RDI0RTg5Q0Q5RjU2QjQ3RjY4REY2NEY1QjM5QUNCREIzMTBDRUMxREQ5NzlBREUxMjQ5NzdCM0Y0RUM1Qjc2MEI3MzFFNTcxQ0Q5MzA5RTI5RUFGNDQxOTMyRkQ1RTdDNjcyRTFCQjUyM0Y4RkE2NEE2N0QyNzEyQzVCRTcyOUJBRTYxMjMzRjYwMjg5NzIyRjJGOTdDMzE0NTQ0MjIwQzFBNEI4MDI0OUNFNTJDMzlEOEMwNjY1MjA3M0YyQkQ0NDRDOTg5REMxMUVCMDM1MUU0OTEzQzQwRDBDQ0E3Rjk4QjgyNzRFRjYzQzBEMDcxQzVFMjdCMTIxNkE2MzI0MEIyNDkwOERGNUFDMjRGMEYxRkFFNzJEQTIwM0EyRjU0N0U4OEFENDBEMjEzNUY1OTI5NUUxRDM1N0I0Rg==";
|
|
public string Connection4 = "NjU3MDQ0Q0JDREI0Mjc2OUY4RTBCOEIxMjBDOEM4MEQ2QUMwMjNEOUVDOTQ4NEMwRDE2RDdEMTQwNEQwODg3MURBMzRENkIxNEFENEYwQTcyMkEwMTE0NDhDM0NGNUZBQ0U4RjMxQUVERjdBQzI5MEExNjQ3ODlDNkEwODVBMUI3NDlCRkU1RDBGQUI0RUJFODlFNkE5MzlFNkIzODAyODEyRjFGQzE4NjVCMEM2OThDRDgzRUY4M0ZGNEExRkEyRUFGQzE4NTg1QkZBMEMwRTI5NzAzQzkzMzY2RUU0Mzc5RkI4NkVDRTM3NDNBMTk0ODJBQTNDNUY2RDlGMzU3MUEyOUEzOEI5RjA3NzA2NjM1NUNFM0U5RjNCNzMzM0RBMUY2MDkxQUZDQ0YxN0Q5MDgwOEY0NzZEMUM3MjQyMkRBOUY2N0NFRUE3MTkwNzk0OTA2NUYyRDJBMEM4RUU4OQ==";
|
|
public string Connection5 = "QkYyNjE3QTcxQjc4RDFFMDlERjlFMDc1QkIyMDVGRjdDRUIyMEVEOUM5NjBCQjc5NTA5NzdEQTk0MkNEQTE1RTFGMEIwMThFNUJDQTE0RjE1NjQwM0U5QTYxMThCMDY2RjA1ODM0OUM0MDQ3RkQ3MkQ0NkEzQUIyRURFRUVGNzVEQjA0OTZDNUEwNUYxMkZBMTNENTdGODFFRjk5RTI0MTA2MjVGRUJDNTFFQTg3NUE1Q0I1MjAxOTI2QjNBNTM1QUQ1OTE4NUFEODU3MjYxNUNFNzk5MEU4RDgxRUM1NDlDRjM3RTZDOTQzRjExQzkwRTUyQzg1RDA0QzMzMzdCNjZBNjNEN0EyNjdBOTE3NEQ0RUE0NjMzMjhBOTYwQTVGOERDN0M3NzgxODA2RDM3MDU1QjBCREQzN0M1Njk4NEQ=";
|
|
public string Connection6 = "Njk5NTI5NDE5RUI2ODM4MEQ5MEJFQkU3NzM3REQxQThDREM4NzRFNUY3QzYzMkVEOEEzODRBMzJBRjIwRUY4Njg4Qjg3M0Q1MTY3MjAxRkY2OTNGMzk3MUZBRjMxMzdDQ0U4RjMxQUVERjdBQzI5MEExNjQ3ODlDNkEwODVBMUI3NDlCRkU1RDBGQUI0RUJFODlFNkE5MzlFNkIzODAyODEyRjFGQzE4NjVCMEM2OThDRDgzRUY4M0ZGNEExRkEyRUFGQzE4NTg1QkZBMEMwRTI5NzAzQzkzMzY2RUU0Mzc5RkI4NkVDRTM3NDNBMTk0ODJBQTNDNUY2RDlGMzU3MTcwNkFDOUM4Qjg5RUE3RkJDRTgzQjQ4RUJBMzI5RjFE";
|
|
|
|
/// <summary>
|
|
/// <para>说明:读取注册表配置</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-08-07 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void ReadConfig(bool isRefConfigFlag = false, bool isMesLogin = false)//isRefConfigFlag是否更改DB
|
|
{
|
|
RegistryKey regKey = Registry.CurrentUser;
|
|
|
|
try
|
|
{
|
|
RegistryKey erpKey = regKey.CreateSubKey("AA_LS_Erp V2.0");
|
|
erpKey.CreateSubKey("File");
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
|
|
RegistryKey subKey = regKey.OpenSubKey(_regKey);
|
|
subKey = subKey.OpenSubKey("File", true);
|
|
|
|
DataBase = subKey.GetValue("datastr", "") + "";
|
|
ServerName = subKey.GetValue("ServerName", "") + "";
|
|
InternalNetworkAddress = subKey.GetValue("InternalNetworkAddress", "") + "";
|
|
ExternalNetworkAddress = subKey.GetValue("ExternalNetworkAddress", "") + "";
|
|
|
|
IsInternalNetwork = (subKey.GetValue("IsInternalNetwork", "") + "").Equals("1");
|
|
ServerType = subKey.GetValue("ServerType", "") + "";
|
|
LoginName = subKey.GetValue("LoginName", "") + "";
|
|
UpdateSet = subKey.GetValue("UpdateSet", "0") + "" == "1" || subKey.GetValue("UpdateSet", "0") + "" == "True" ? true : false;
|
|
SmallClient = subKey.GetValue("SmallClient", "0") + "" == "1" || subKey.GetValue("SmallClient", "0") + "" == "True" ? true : false;
|
|
NoticeClient = subKey.GetValue("NoticeClient", "0") + "" == "1" || subKey.GetValue("NoticeClient", "0") + "" == "True" ? true : false;
|
|
Internet = subKey.GetValue("Internet", "1") + "" == "0" ? true : false;
|
|
IsConsumer = subKey.GetValue("IsConsumer", "1") + "" == "1" ? true : false;
|
|
ProGramme = subKey.GetValue("ProGramme", "") + "";
|
|
NoticeUserName = subKey.GetValue("NoticeUserName", "") + "";
|
|
NoticeUserID = subKey.GetValue("NoticeUserID", "") + "";
|
|
NoticeShowWindow = subKey.GetValue("NoticeShowWindow", "0") + "" == "1" || subKey.GetValue("NoticeShowWindow", "0") + "" == "True" ? true : false;
|
|
NoticeFlicker = subKey.GetValue("NoticeFlicker", "0") + "" == "0" || subKey.GetValue("NoticeFlicker", "0") + "" == "False" ? false : true;
|
|
NoticeExit = subKey.GetValue("NoticeExit", "0") + "" == "1" || subKey.GetValue("NoticeExit", "0") + "" == "True" ? true : false;
|
|
IsRemPwd = subKey.GetValue("IsRemPwd", "0") + "" == "1" || subKey.GetValue("IsRemPwd", "0") + "" == "True" ? true : false;
|
|
if (subKey.GetValue("IsCmpCapture") == null)
|
|
{
|
|
subKey.SetValue("IsCmpCapture", 0);
|
|
}
|
|
IsCmpCapture = subKey.GetValue("IsCmpCapture", "0") + "" == "1" || subKey.GetValue("IsCmpCapture", "0") + "" == "True" ? true : false;
|
|
try
|
|
{
|
|
DataBook = subKey.GetValue("DataBook", "") + "";
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
string file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SystemResources.ini");
|
|
if (File.Exists(file))
|
|
{
|
|
string lastIPPort = string.Format("{0}:{1}", IniHelper.Read("SystemResources.ini", "LocalLastIP"), IniHelper.Read("SystemResources.ini", "LocalLastPort"));
|
|
string downloadAESStrKey = string.Format("DownloadAESStr_{0}", lastIPPort);
|
|
string[] downloadAESStrValue = IniHelper.Read("SystemResources.ini", downloadAESStrKey).Split('^');
|
|
string downloadAESStr = downloadAESStrValue.Length == 2 ? downloadAESStrValue[1] : "";
|
|
string configFlag = IniHelper.Read("SystemResources.ini", "FrmConfigFlag");
|
|
if (configFlag.Equals("1") && !isRefConfigFlag && !isMesLogin)
|
|
{
|
|
//string args = AESUtil.Decrypt(File.ReadAllText(file));
|
|
if (!string.IsNullOrEmpty(downloadAESStr))
|
|
{
|
|
string args = AESUtil.Decrypt(downloadAESStr);
|
|
string[] controlAfgs = args.Split('^');
|
|
if (controlAfgs != null && controlAfgs.Length == 5)
|
|
{
|
|
ServerName = controlAfgs[0];
|
|
DataBase = controlAfgs[1];
|
|
string str = "Server={0};Database={1};Persist Security Info=True;User ID=" + controlAfgs[2] + ";Password=" + controlAfgs[3] + ";Connection Timeout=5;MultipleActiveResultSets=true";
|
|
string dephistr = "Provider=SQLOLEDB.1;Server={0};Database={1};Persist Security Info=True;User ID=" + controlAfgs[2] + ";Password=" + controlAfgs[3] + ";Connection Timeout=5";
|
|
Connection = AESUtil.Encrypt(str);
|
|
dephiConnection = AESUtil.Encrypt(dephistr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:激活高拍仪控件</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-07-31 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void SetActiveOcx(string subkeyName)
|
|
{
|
|
RegistryKey regKey = Registry.CurrentUser;
|
|
RegistryKey subKey = regKey.OpenSubKey(_regKey);
|
|
subKey = subKey.OpenSubKey("File", true);
|
|
subKey.SetValue(subkeyName, 1);
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:写配置</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-08-07 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void WriteConfig(bool isWriteSaDFlag)
|
|
{
|
|
RegistryKey regKey = Registry.CurrentUser;
|
|
RegistryKey subKey = regKey.OpenSubKey(_regKey);
|
|
subKey = subKey.OpenSubKey("File", true);
|
|
if (isWriteSaDFlag)
|
|
{
|
|
subKey.SetValue("datastr", DataBase);
|
|
subKey.SetValue("ServerName", ServerName);
|
|
subKey.SetValue("InternalNetworkAddress", InternalNetworkAddress);
|
|
subKey.SetValue("ExternalNetworkAddress", ExternalNetworkAddress);
|
|
subKey.SetValue("IsInternalNetwork", IsInternalNetwork ? "1" : "0");
|
|
}
|
|
subKey.SetValue("LoginName", LoginName);
|
|
subKey.SetValue("UpdateSet", UpdateSet);
|
|
subKey.SetValue("SmallClient", SmallClient);
|
|
subKey.SetValue("NoticeClient", NoticeClient);
|
|
subKey.SetValue("DataBook", DataBook);
|
|
subKey.SetValue("NoticeUserID", NoticeUserID);
|
|
subKey.SetValue("ProGramme", ProGramme);
|
|
subKey.SetValue("NoticeUserName", NoticeUserName);
|
|
subKey.SetValue("NoticeShowWindow", NoticeShowWindow);
|
|
subKey.SetValue("NoticeFlicker", NoticeFlicker);
|
|
subKey.SetValue("NoticeExit", NoticeExit);
|
|
subKey.SetValue("IsRemPwd", IsRemPwd);
|
|
subKey.Close();
|
|
}
|
|
|
|
|
|
public void WriteConfig()
|
|
{
|
|
RegistryKey regKey = Registry.CurrentUser;
|
|
RegistryKey subKey = regKey.OpenSubKey(_regKey);
|
|
subKey = subKey.OpenSubKey("File", true);
|
|
subKey.SetValue("datastr", DataBase);
|
|
subKey.SetValue("ServerName", ServerName);
|
|
subKey.SetValue("InternalNetworkAddress", InternalNetworkAddress);
|
|
subKey.SetValue("ExternalNetworkAddress", ExternalNetworkAddress);
|
|
subKey.SetValue("IsInternalNetwork", IsInternalNetwork ? "1" : "0");
|
|
subKey.SetValue("ServerType", ServerType);
|
|
subKey.SetValue("LoginName", LoginName);
|
|
subKey.SetValue("UpdateSet", UpdateSet);
|
|
subKey.SetValue("SmallClient", SmallClient);
|
|
subKey.SetValue("NoticeClient", NoticeClient);
|
|
subKey.SetValue("DataBook", DataBook);
|
|
subKey.SetValue("NoticeUserID", NoticeUserID);
|
|
subKey.SetValue("ProGramme", ProGramme);
|
|
subKey.SetValue("NoticeUserName", NoticeUserName);
|
|
subKey.SetValue("NoticeShowWindow", NoticeShowWindow);
|
|
subKey.SetValue("NoticeFlicker", NoticeFlicker);
|
|
subKey.SetValue("NoticeExit", NoticeExit);
|
|
subKey.SetValue("IsRemPwd", IsRemPwd);
|
|
subKey.Close();
|
|
}
|
|
public void WriteConfig(string Key, string Value)
|
|
{
|
|
RegistryKey regKey = Registry.CurrentUser;
|
|
RegistryKey subKey = regKey.OpenSubKey(_regKey);
|
|
subKey = subKey.OpenSubKey("File", true);
|
|
subKey.SetValue(Key, Value);
|
|
subKey.Close();
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:获取C#连接字符串</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-08-07 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <returns>System.String.</returns>
|
|
public string GetConnection(string Connection = "")
|
|
{
|
|
if (!string.IsNullOrEmpty(Connection))
|
|
{
|
|
return string.Format(AESUtil.Decrypt(Connection), ServerName, DataBase);
|
|
}
|
|
return IsConsumer ? (DBConfig.Instance.ServerType + "").Equals("达梦数据库") ? string.Format(AESUtil.Decrypt(Connection1DM), ServerName, DataBase, Environment.MachineName) : string.Format(AESUtil.Decrypt(Connection1), ServerName, DataBase) : string.Format(AESUtil.Decrypt(Connection5), ServerName, DataBase);
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:获取delphi连接字符串</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-08-07 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <returns>System.String.</returns>
|
|
public string GetDelphiConnection(string Connection = "")
|
|
{
|
|
if (!string.IsNullOrEmpty(Connection))
|
|
{
|
|
return string.Format(AESUtil.Decrypt(Connection), ServerName, DataBase);
|
|
}
|
|
return IsConsumer ? string.Format(AESUtil.Decrypt(Connection2), ServerName, DataBase) : string.Format(AESUtil.Decrypt(Connection6), ServerName, DataBase);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <para>说明:获取</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-03-28 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <returns>System.String.</returns>
|
|
public string GetLsCrmConnection()
|
|
{
|
|
return Internet ? AESUtil.Decrypt(Connection3) : AESUtil.Decrypt(Connection4);
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:创建数据库连接</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-08-07 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
|
public bool CreateConnection(string Connection = "", ConnectionType connectionType = ConnectionType.SqlServer)
|
|
{
|
|
bool isConnect = false;
|
|
try
|
|
{
|
|
string connStr = GetConnection(Connection);
|
|
string providerName = "System.Data.SqlClient";
|
|
SqlHelper.ConnectionType = ConnectionType.SqlServer;
|
|
//connectionType = ConnectionType.KdbnServer;
|
|
//connStr = "host=192.168.0.55;port=54321;database=test3;username=lserpAdmin;password=lserp110;";
|
|
|
|
//connectionType = ConnectionType.DmServer;
|
|
//string hostname = Environment.MachineName;
|
|
//connStr = $"Server=110.185.161.104:5236; schema=LSERP_JTCS; UserId=LSERPADMIN; PWD=Lserp110 ;host={hostname}";
|
|
if (DBConfig.Instance.ServerType.Equals("达梦数据库"))
|
|
{
|
|
connectionType = ConnectionType.DmServer;
|
|
//connStr = $"Server=110.185.161.104:5236; schema=LSERP_JTCS; UserId=LSERPADMIN; PWD=Lserp110 ;host={hostname}";
|
|
}
|
|
if (connectionType == ConnectionType.KdbnServer)
|
|
{
|
|
providerName = "Kdbndp";
|
|
SqlHelper.ConnectionType = ConnectionType.KdbnServer;
|
|
}
|
|
else if (connectionType == ConnectionType.DmServer)
|
|
{
|
|
providerName = "Dm";
|
|
SqlHelper.ConnectionType = ConnectionType.DmServer;
|
|
}
|
|
SqlHelper.dbFactory = DbProviderFactories.GetFactory(providerName);
|
|
if (SqlHelper._connection != null)
|
|
{
|
|
try
|
|
{
|
|
SqlHelper._connection.Close();
|
|
SqlHelper._connection.Dispose();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
SqlHelper._connection = null;
|
|
}
|
|
try
|
|
{
|
|
SqlHelper._connection = SqlHelper.dbFactory.CreateConnection();
|
|
SqlHelper._connection.ConnectionString = connStr;
|
|
SqlHelper._connection.Open();
|
|
isConnect = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Instance.WriteLog(ex.Message);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(ex.Message);
|
|
}
|
|
return isConnect;
|
|
}
|
|
}
|
|
}
|