SQLServer连接配置工具(配置保存到ini文件或系统注册表)


//存储SQL连接配置的接口
public interface IWriteSQLConfigValue
{
/// <summary>
/// 写入SQL的连接配置信息
/// </summary>
void Write();
/// <summary>
/// 读取SQL的连接配置信息
/// </summary>
void Read();
/// <summary>
/// SQL Server Name/IP
/// </summary>
string ServerName { get; set; }
/// <summary>
/// 连接的数据库
/// </summary>
string InitialCatalog { get; set; }
/// <summary>
/// 用户名
/// </summary>
string UserName { get; set; }
/// <summary>
/// 密码
/// </summary>
string Password { get; set; }
/// <summary>
/// 生成连接字符串
/// </summary>
/// <returns></returns>
string BuildConnectionString();
}
// 来源:www.CSFramework.com, C/S结构框架学习网
连接参数保存在INI文件
//连接参数保存在INI文件
public class IniFileWriter : IWriteSQLConfigValue
{
#region IWriteConfigValue Members
private string _iniFile;
private string _ServerName;
private string _Password;
private string _UserName;
private string _InitialCatalog;
public IniFileWriter(string iniFile)
{
_iniFile = iniFile;
if (!System.IO.File.Exists(iniFile))
Write();
Read();
}
public string BuildConnectionString()
{
return new SqlConfiguration().GetConnectionString(this);
}
public void Read()
{
IniFile cfg = new IniFile(_iniFile);
if (cfg != null)
{
_ServerName = cfg.IniReadValue("SQL Configuration", "SqlServer");
_InitialCatalog = cfg.IniReadValue("SQL Configuration", "database");
_UserName = cfg.IniReadValue("SQL Configuration", "SqlUser");
_Password = CEncoder.Decode(cfg.IniReadValue("SQL Configuration", "SqlPwd"));//解密
}
}
public void Write()
{
IniFile cfg = new IniFile(_iniFile);
if (cfg != null)
{
cfg.IniWriteValue("SQL Configuration", "SqlServer", _ServerName);
cfg.IniWriteValue("SQL Configuration", "Database", _InitialCatalog);
cfg.IniWriteValue("SQL Configuration", "SqlUser", _UserName);
cfg.IniWriteValue("SQL Configuration", "SqlPwd", CEncoder.Encode(_Password)); //加密
}
}
//配置文件
public static string ConfigFile
{
get { return Application.StartupPath "\\csframework3.ini"; }
}
//加载连接配置
public static void LoadConfiguration()
{
if (System.IO.File.Exists(ConfigFile))
{
IWriteSQLConfigValue cfg = new IniFileWriter(ConfigFile);
SqlConfiguration.SetSQLConfig(cfg);
}
else
throw new Exception("Program cann't run without a SQL configuration.You should config the SQL connection by running CKG.TECH.Setup.exe!");
}
public string InitialCatalog { get { return _InitialCatalog; } set { _InitialCatalog = value; } }
public string ServerName { get { return _ServerName; } set { _ServerName = value; } }
public string UserName { get { return _UserName; } set { _UserName = value; } }
public string Password { get { return _Password; } set { _Password = value; } }
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
public class IniFileWriter : IWriteSQLConfigValue
{
#region IWriteConfigValue Members
private string _iniFile;
private string _ServerName;
private string _Password;
private string _UserName;
private string _InitialCatalog;
public IniFileWriter(string iniFile)
{
_iniFile = iniFile;
if (!System.IO.File.Exists(iniFile))
Write();
Read();
}
public string BuildConnectionString()
{
return new SqlConfiguration().GetConnectionString(this);
}
public void Read()
{
IniFile cfg = new IniFile(_iniFile);
if (cfg != null)
{
_ServerName = cfg.IniReadValue("SQL Configuration", "SqlServer");
_InitialCatalog = cfg.IniReadValue("SQL Configuration", "database");
_UserName = cfg.IniReadValue("SQL Configuration", "SqlUser");
_Password = CEncoder.Decode(cfg.IniReadValue("SQL Configuration", "SqlPwd"));//解密
}
}
public void Write()
{
IniFile cfg = new IniFile(_iniFile);
if (cfg != null)
{
cfg.IniWriteValue("SQL Configuration", "SqlServer", _ServerName);
cfg.IniWriteValue("SQL Configuration", "Database", _InitialCatalog);
cfg.IniWriteValue("SQL Configuration", "SqlUser", _UserName);
cfg.IniWriteValue("SQL Configuration", "SqlPwd", CEncoder.Encode(_Password)); //加密
}
}
//配置文件
public static string ConfigFile
{
get { return Application.StartupPath "\\csframework3.ini"; }
}
//加载连接配置
public static void LoadConfiguration()
{
if (System.IO.File.Exists(ConfigFile))
{
IWriteSQLConfigValue cfg = new IniFileWriter(ConfigFile);
SqlConfiguration.SetSQLConfig(cfg);
}
else
throw new Exception("Program cann't run without a SQL configuration.You should config the SQL connection by running CKG.TECH.Setup.exe!");
}
public string InitialCatalog { get { return _InitialCatalog; } set { _InitialCatalog = value; } }
public string ServerName { get { return _ServerName; } set { _ServerName = value; } }
public string UserName { get { return _UserName; } set { _UserName = value; } }
public string Password { get { return _Password; } set { _Password = value; } }
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
连接参数保存在注册表
//连接参数保存在注册表
public class RegisterWriter : IWriteSQLConfigValue
{
#region IWriteConfigValue Members
private string _keyPath;
private string _ServerName;
private string _Password;
private string _UserName;
private string _InitialCatalog;
//构造器
public RegisterWriter(string keyPath)
{
_keyPath = keyPath;
Read();
}
public string BuildConnectionString()
{
return new SqlConfiguration().GetConnectionString(this);
}
public void Read()
{
RegistryKey key = Registry.LocalMachine.CreateSubKey(_keyPath);
if (key != null)
{
_ServerName = ConvertEx.ToString(key.GetValue("SqlServer", "."));
_InitialCatalog = ConvertEx.ToString(key.GetValue("SqlDatabase", ""));
_UserName = ConvertEx.ToString(key.GetValue("SqlUser", "sa"));
_Password = ConvertEx.ToString(key.GetValue("SqlPwd", ""));
if (_Password != string.Empty) _Password = CEncoder.Decode(_Password);
key.Close();
}
}
public void Write()
{
RegistryKey key = Registry.LocalMachine.CreateSubKey(_keyPath);
if (key != null)
{
key.SetValue("SqlServer", _ServerName);
key.SetValue("SqlDatabase", _InitialCatalog);
key.SetValue("SqlUser", _UserName);
key.SetValue("SqlPwd", CEncoder.Encode(_Password));
key.Close();
}
}
public string InitialCatalog { get { return _InitialCatalog; } set { _InitialCatalog = value; } }
public string ServerName { get { return _ServerName; } set { _ServerName = value; } }
public string UserName { get { return _UserName; } set { _UserName = value; } }
public string Password { get { return _Password; } set { _Password = value; } }
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
public class RegisterWriter : IWriteSQLConfigValue
{
#region IWriteConfigValue Members
private string _keyPath;
private string _ServerName;
private string _Password;
private string _UserName;
private string _InitialCatalog;
//构造器
public RegisterWriter(string keyPath)
{
_keyPath = keyPath;
Read();
}
public string BuildConnectionString()
{
return new SqlConfiguration().GetConnectionString(this);
}
public void Read()
{
RegistryKey key = Registry.LocalMachine.CreateSubKey(_keyPath);
if (key != null)
{
_ServerName = ConvertEx.ToString(key.GetValue("SqlServer", "."));
_InitialCatalog = ConvertEx.ToString(key.GetValue("SqlDatabase", ""));
_UserName = ConvertEx.ToString(key.GetValue("SqlUser", "sa"));
_Password = ConvertEx.ToString(key.GetValue("SqlPwd", ""));
if (_Password != string.Empty) _Password = CEncoder.Decode(_Password);
key.Close();
}
}
public void Write()
{
RegistryKey key = Registry.LocalMachine.CreateSubKey(_keyPath);
if (key != null)
{
key.SetValue("SqlServer", _ServerName);
key.SetValue("SqlDatabase", _InitialCatalog);
key.SetValue("SqlUser", _UserName);
key.SetValue("SqlPwd", CEncoder.Encode(_Password));
key.Close();
}
}
public string InitialCatalog { get { return _InitialCatalog; } set { _InitialCatalog = value; } }
public string ServerName { get { return _ServerName; } set { _ServerName = value; } }
public string UserName { get { return _UserName; } set { _UserName = value; } }
public string Password { get { return _Password; } set { _Password = value; } }
#endregion
}
// 来源:www.CSFramework.com, C/S结构框架学习网
参考文档:
SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案|C/S开发框架
SQLServer SQL函数解析JSON数据格式并返回表
SqlServer自动备份计划,备份多个数据库,自动删除备份文件|C/S开发框架
CSFrameworkV6快速开发框架 | SqlServer(MsSql)数据库测试报告|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
CSFramework框架数据库备份还原操作手册(MySql/Oracle/SqlServer/达梦)|C/S开发框架
SqlServer(MsSql)数据库备份、还原操作指南|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
MiniFramework | 蝇量级开发框架Demo版下载|C/S开发框架
DevExpress SkinItem皮肤选择器(SkinBarSubItem、SkinDropDownButtonItem、SkinPaletteDropDownButtonItem)3个组件使用
CSFramework.EF数据库框架|支持多种数据库SqlServer/MySQL/Oracle
EntityFramework通用DbContext类,支持动态实体模型,多数据库(MySQL,SqlServer,Oracle)
CSFramework_Mini 数据库结构 | Winform 蝇量框架|C/S开发框架
MiniFramework蝇量框架 Visual Studio解决方案|C/S开发框架
MiniFramework蝇量级开发框架成功案例|C/S开发框架
TMS|物流运输管理系统(MiniFramework蝇量框架客户案例)|C/S开发框架
SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案|C/S开发框架
SQLServer SQL函数解析JSON数据格式并返回表
SqlServer自动备份计划,备份多个数据库,自动删除备份文件|C/S开发框架
CSFrameworkV6快速开发框架 | SqlServer(MsSql)数据库测试报告|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
CSFramework框架数据库备份还原操作手册(MySql/Oracle/SqlServer/达梦)|C/S开发框架
SqlServer(MsSql)数据库备份、还原操作指南|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
MiniFramework | 蝇量级开发框架Demo版下载|C/S开发框架
DevExpress SkinItem皮肤选择器(SkinBarSubItem、SkinDropDownButtonItem、SkinPaletteDropDownButtonItem)3个组件使用
CSFramework.EF数据库框架|支持多种数据库SqlServer/MySQL/Oracle
EntityFramework通用DbContext类,支持动态实体模型,多数据库(MySQL,SqlServer,Oracle)
CSFramework_Mini 数据库结构 | Winform 蝇量框架|C/S开发框架
MiniFramework蝇量框架 Visual Studio解决方案|C/S开发框架
MiniFramework蝇量级开发框架成功案例|C/S开发框架
TMS|物流运输管理系统(MiniFramework蝇量框架客户案例)|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
