如何在我的 C# 项目中使用现有 app.config 文件中的 sql 连接信息
How to use sql connection information from existing app.config file in my C# Project
我正在尝试用 C# 编写一个小应用程序,我需要连接到 SQL 来获取一些数据,为此我需要 SQL 用户 ID 和密码,对于同一个客户端是其他应用程序 运行 连接到 SQL 服务器并具有加密形式的配置文件。
我对 C# 和 .Net 不是很好,并且很难理解这些概念,我试图在 post 中搜索答案但没有得到任何适合我的问题的回复。
我可以在我的新项目中使用已经在使用的配置文件,并读取加密形式的用户名和密码信息并用于连接到 SQL 服务器吗?
任何有助于理解在 C# 中使用配置文件的好东西,以及很好的例子,我们将不胜感激。
看看:
How to set SQL Server connection string?
这个例子是针对 MSSQL 的,对于其他人来说几乎是一样的。
如果您对 SQL 服务器具有管理权限,则可以创建一个可用于连接的帐户。
如果您没有管理员权限,则必须要求管理员为您创建一个帐户...或告诉您可以使用的凭据。
在 app.config 中,在 <configuration>
中添加以下行:
<connectionStrings>
<add name="PWD" connectionString="#$@AERG#$"/>
</connectionStrings>
在主程序中:
- Add the reference System.Configuration through the Project Manager.
- Add using System.Configuration; in the using segment.
- use ConfigurationManager.ConnectionStrings["PWD"].ToString() to access the encrypted password in the config file.
请根据您的目的进行相应更改!!!
祝你好运!!!
使用这个功能
/// <summary>
/// Get values of the connection string in the following order :
/// Server , Database,
/// If the length of the list is 3 then the 3rd object is True (Integrated Security)
/// If it is 4 then the 3rd object is the 3rd object is the username and the 4th is the password.
///
/// </summary>
/// <returns></returns>
public static List<string> GetCurrentConnectionString()
{
try
{
List<string> lstConnStrData = new List<string>();
string[] aryConnStrData = new string[1];
// OPen the Config file as XML document and loop over it.
XmlDocument XmlDoc = new XmlDocument();
//Loading the Config file
XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement xElement in XmlDoc.DocumentElement)
{
if (xElement.Name == "connectionStrings")
{
//setting the coonection string
aryConnStrData = xElement.ChildNodes[1].Attributes[1].Value.Split(';');
break;
}
}
// Now loop over the array that holds the conn str data and split each item on "=",
// and add the second splitted item to the list, so at the end the list will contains
// the values of the connection string.
for (int i = 0; i <= aryConnStrData.Length - 2; i++)
{
lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
}
return lstConnStrData;
}
catch (Exception)
{
throw;
}
}
或
public static List<string> SplitConnectionString(string ConnectionString)
{
try
{
List<string> lstConnStrData = new List<string>();
string[] aryConnStrData = new string[1];
aryConnStrData = ConnectionString.Split(';');
// Now loop over the array that holds the conn str data and split each item on "=",
// and add the second splitted item to the list, so at the end the list will contains
// the values of the connection string.
for (int i = 0; i <= aryConnStrData.Length - 2; i++)
{
lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
}
return lstConnStrData;
}
catch (Exception)
{
throw;
}
}
我正在尝试用 C# 编写一个小应用程序,我需要连接到 SQL 来获取一些数据,为此我需要 SQL 用户 ID 和密码,对于同一个客户端是其他应用程序 运行 连接到 SQL 服务器并具有加密形式的配置文件。 我对 C# 和 .Net 不是很好,并且很难理解这些概念,我试图在 post 中搜索答案但没有得到任何适合我的问题的回复。 我可以在我的新项目中使用已经在使用的配置文件,并读取加密形式的用户名和密码信息并用于连接到 SQL 服务器吗?
任何有助于理解在 C# 中使用配置文件的好东西,以及很好的例子,我们将不胜感激。
看看: How to set SQL Server connection string?
这个例子是针对 MSSQL 的,对于其他人来说几乎是一样的。
如果您对 SQL 服务器具有管理权限,则可以创建一个可用于连接的帐户。
如果您没有管理员权限,则必须要求管理员为您创建一个帐户...或告诉您可以使用的凭据。
在 app.config 中,在 <configuration>
中添加以下行:
<connectionStrings>
<add name="PWD" connectionString="#$@AERG#$"/>
</connectionStrings>
在主程序中:
- Add the reference System.Configuration through the Project Manager.
- Add using System.Configuration; in the using segment.
- use ConfigurationManager.ConnectionStrings["PWD"].ToString() to access the encrypted password in the config file.
请根据您的目的进行相应更改!!!
祝你好运!!!
使用这个功能
/// <summary>
/// Get values of the connection string in the following order :
/// Server , Database,
/// If the length of the list is 3 then the 3rd object is True (Integrated Security)
/// If it is 4 then the 3rd object is the 3rd object is the username and the 4th is the password.
///
/// </summary>
/// <returns></returns>
public static List<string> GetCurrentConnectionString()
{
try
{
List<string> lstConnStrData = new List<string>();
string[] aryConnStrData = new string[1];
// OPen the Config file as XML document and loop over it.
XmlDocument XmlDoc = new XmlDocument();
//Loading the Config file
XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement xElement in XmlDoc.DocumentElement)
{
if (xElement.Name == "connectionStrings")
{
//setting the coonection string
aryConnStrData = xElement.ChildNodes[1].Attributes[1].Value.Split(';');
break;
}
}
// Now loop over the array that holds the conn str data and split each item on "=",
// and add the second splitted item to the list, so at the end the list will contains
// the values of the connection string.
for (int i = 0; i <= aryConnStrData.Length - 2; i++)
{
lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
}
return lstConnStrData;
}
catch (Exception)
{
throw;
}
}
或
public static List<string> SplitConnectionString(string ConnectionString)
{
try
{
List<string> lstConnStrData = new List<string>();
string[] aryConnStrData = new string[1];
aryConnStrData = ConnectionString.Split(';');
// Now loop over the array that holds the conn str data and split each item on "=",
// and add the second splitted item to the list, so at the end the list will contains
// the values of the connection string.
for (int i = 0; i <= aryConnStrData.Length - 2; i++)
{
lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
}
return lstConnStrData;
}
catch (Exception)
{
throw;
}
}