SQLServer连接配置工具(配置保存到ini文件或系统注册表)
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 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结构框架学习网
参考文档:
精简版(学习版)运行程序出错,SQL连接配置错误 SQLServer2008:阻止保存要求重新创建表的更改问题的设置方法 SQL连接管理器增加功能: 后台连接模式配置 使用T-SQL语句配置SQL Server连接池允许的并发用户连接的最大数目 《CS系统开发框架V4.3-服务端及连接策略详解》.pdf BUG: 系统管理-模块管理-frmModuleMgr.cs文件 C/S系统开发框架旗舰版V5.0数据库连接工具(SQLConnector.exe) 系统详细设计说明书模板文件 原创解决方案:VS无法连接到已配置的开发Web服务器 通用文本提示对话框窗体支持保存文本文件|C/S框架网 企业ERP进销存财务系统开发框架及开发平台(Winform+C#.NET+SQLServer) C# Winform用户自定义公式配置工具界面 C/S开发框架代码生成器工具增加DevExpress版本配置 SqlServer配置链接服务器LINKSERVER:ODBC连接MySQL数据库 C# INI本地文件读写工具类IniFileTool.cs
其它资料:
什么是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内容管理系统 | |