程序中Oracle数据库配置
2012-09-01 16:17
218 查看
public class DBConfigVariable
{
/// <summary>
/// 读取配置文件连接数据库串
/// </summary>
/// <param name="i"></param>
public void ReadAppConfig(int i)
{
string strDataSouce = "";
string strUserName = "";
string strUserPassword = "";
string connstr = "";
//生产管理连接串
if (i == 1)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
}
//1库连接串
if (i == 2)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnTool"].ToString();
}
//2库连接串
if (i == 3)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnWMS"].ToString();
}
//数据源
strDataSouce = connstr.Split(';')[0].ToString();
DBConfig.DataSource = strDataSouce.Substring(12);
//数据库用户名
strUserName = connstr.Split(';')[1].Trim();
DBConfig.UserName = strUserName.Substring(8);
//用户密码
strUserPassword = connstr.Split(';')[2].Trim();
DBConfig.Password = strUserPassword.Substring(9);
}
/// <summary>
/// 接收界面上修改的数据库配置,并组织好newKey.更新app.config文件
/// </summary>
/// <param name="i"></param>
public void UpdateDataBaseConfig(int i)
{
string newKeyValue = "";
string newKey = "";
newKeyValue = string.Format("Data Source={0};User ID={1};Password={2};Persist Security Info=True;",
DBConfig.DataSource.ToString(), DBConfig.UserName.ToString(), DBConfig.Password.ToString());
if (i == 1)
{
newKey = "OracleConn";
UpdateConnectionStringsConfig("MESAppProject.Properties.Settings.ConnectionString1", newKeyValue, "System.Data.OracleClient");
}
if (i == 2)
{
newKey = "OracleConnTool";
}
if (i == 3)
{
newKey = "OracleConnWMS";
}
UpdateAppConfig(i, newKey, newKeyValue);
}
/// <summary>
/// 修改数据库连接串
/// </summary>
/// <param name="i"></param>
private void UpdateAppConfig(int i,string newKey,string newValue)
{
bool isModifield = false;
foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
{
if (key == newKey)
{
isModifield = true;
}
}
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (isModifield)
{
config.AppSettings.Settings.Remove(newKey);
}
config.AppSettings.Settings.Add(newKey, newValue);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 更新connectionStrings配置节
/// </summary>
/// <param name="newName">连接字符串名称</param>
/// <param name="newConString">连接字符串内容</param>
/// <param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName)
{
bool isModified = false; //记录连接串是否已经存在
//如果要更改的连接串已经存在
if (ConfigurationManager.ConnectionStrings[newName] !=null)
{
isModified = true;
}
//新建一个连接字符串实例
ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
//打开可执行的配置文件*.exe.config
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//如果连接串已经存在,首先删除它
if(isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove(newName);
}
//将新的连接串添加到配置文件中
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
//保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
//强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("ConnectionStrings");
}
/// <summary>
/// 数据库连接变量
/// </summary>
public static class DBConfig
{
public static string DataSource;
public static string GetDataSource
{
get { return DataSource; }
}
public static string SetDataSource
{
set { DataSource = value; }
}
public static string UserName;
public static string GetUserName
{
get { return UserName; }
}
public static string SetUserName
{
set { UserName = value; }
}
public static string Password;
public static string GetPassword
{
get { return Password; }
}
public static string SetPassword
{
set { Password = value; }
}
}
}
{
/// <summary>
/// 读取配置文件连接数据库串
/// </summary>
/// <param name="i"></param>
public void ReadAppConfig(int i)
{
string strDataSouce = "";
string strUserName = "";
string strUserPassword = "";
string connstr = "";
//生产管理连接串
if (i == 1)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
}
//1库连接串
if (i == 2)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnTool"].ToString();
}
//2库连接串
if (i == 3)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnWMS"].ToString();
}
//数据源
strDataSouce = connstr.Split(';')[0].ToString();
DBConfig.DataSource = strDataSouce.Substring(12);
//数据库用户名
strUserName = connstr.Split(';')[1].Trim();
DBConfig.UserName = strUserName.Substring(8);
//用户密码
strUserPassword = connstr.Split(';')[2].Trim();
DBConfig.Password = strUserPassword.Substring(9);
}
/// <summary>
/// 接收界面上修改的数据库配置,并组织好newKey.更新app.config文件
/// </summary>
/// <param name="i"></param>
public void UpdateDataBaseConfig(int i)
{
string newKeyValue = "";
string newKey = "";
newKeyValue = string.Format("Data Source={0};User ID={1};Password={2};Persist Security Info=True;",
DBConfig.DataSource.ToString(), DBConfig.UserName.ToString(), DBConfig.Password.ToString());
if (i == 1)
{
newKey = "OracleConn";
UpdateConnectionStringsConfig("MESAppProject.Properties.Settings.ConnectionString1", newKeyValue, "System.Data.OracleClient");
}
if (i == 2)
{
newKey = "OracleConnTool";
}
if (i == 3)
{
newKey = "OracleConnWMS";
}
UpdateAppConfig(i, newKey, newKeyValue);
}
/// <summary>
/// 修改数据库连接串
/// </summary>
/// <param name="i"></param>
private void UpdateAppConfig(int i,string newKey,string newValue)
{
bool isModifield = false;
foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
{
if (key == newKey)
{
isModifield = true;
}
}
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (isModifield)
{
config.AppSettings.Settings.Remove(newKey);
}
config.AppSettings.Settings.Add(newKey, newValue);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 更新connectionStrings配置节
/// </summary>
/// <param name="newName">连接字符串名称</param>
/// <param name="newConString">连接字符串内容</param>
/// <param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName)
{
bool isModified = false; //记录连接串是否已经存在
//如果要更改的连接串已经存在
if (ConfigurationManager.ConnectionStrings[newName] !=null)
{
isModified = true;
}
//新建一个连接字符串实例
ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
//打开可执行的配置文件*.exe.config
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//如果连接串已经存在,首先删除它
if(isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove(newName);
}
//将新的连接串添加到配置文件中
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
//保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
//强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("ConnectionStrings");
}
/// <summary>
/// 数据库连接变量
/// </summary>
public static class DBConfig
{
public static string DataSource;
public static string GetDataSource
{
get { return DataSource; }
}
public static string SetDataSource
{
set { DataSource = value; }
}
public static string UserName;
public static string GetUserName
{
get { return UserName; }
}
public static string SetUserName
{
set { UserName = value; }
}
public static string Password;
public static string GetPassword
{
get { return Password; }
}
public static string SetPassword
{
set { Password = value; }
}
}
}
相关文章推荐
- Linux下为Node.js程序配置MySQL或Oracle数据库的方法
- Linux下为Node.js程序配置MySQL或Oracle数据库的方法
- ORA-12541:TNS:无监听程序,配置Oracle数据库监听程序
- 在jdev开发的程序中同时有sysbaseIQ和oracle数据库的配置方法
- 新建Oracle数据库时,提示使用database control配置数据库时,要求在当前oracle主目录中配置监听程序
- oracle数据库配置修改 Oracle数据库监听程序启动不了解决方案
- 配置64位Windows的IIS支持32位程序
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- C# WinForm开发中使用XML配置程序
- 微信小程序项目 配置开发环境及全面了解小程序
- NodeMcu新手调试(一)——Arduino+8266配置,第一个程序烧写
- C# WinForm程序的App.Config数据库连接配置文件
- 微信小程序 开发工具及开发环境配置
- Spring Security ACL使用Oracle数据库的配置与数据库脚本
- pcl1.8.0+QT5.7.0+vs2013 win7 x64环境配置以及第一个小程序实现
- delphi三层程序(简单配置)
- 【视频】配置信息管理 的 使用方法(五):配置程序之列表、分页控件、按钮
- 解决VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”
- 转 Selenium+Python+Eclipse网页自动化集成环境配置(附简单的测试程序)