我正在为Excel开发一个插件(用于从各种来源进行自定义报告和数据提取)。
现在我正在与ODBC connection
(特别是DSN)斗争。尽管我已经创建了一个专用的DSN并指向应用程序使用它,但我必须在连接字符串(pwd,用户名,数据库名称等)中指定相同的信息才能使其正常工作。
我不想在xml文件中公开这种类型的信息,并想知道是否可以强制应用程序仅使用来自DSN的信息(或者,作为替代方法,在自定义xml中编码conn。字符串文件)?
答案 0 :(得分:0)
您可能希望加密连接字符串。详情here
static void ToggleConfigEncryption(string exeConfigName)
{
// Takes the executable file name without the
// .config extension.
try
{
// Open the configuration file and retrieve
// the connectionStrings section.
Configuration config = ConfigurationManager.
OpenExeConfiguration(exeConfigName);
ConnectionStringsSection section =
config.GetSection("connectionStrings")
as ConnectionStringsSection;
if (section.SectionInformation.IsProtected)
{
// Remove encryption.
section.SectionInformation.UnprotectSection();
}
else
{
// Encrypt the section.
section.SectionInformation.ProtectSection(
"DataProtectionConfigurationProvider");
}
// Save the current configuration.
config.Save();
Console.WriteLine("Protected={0}",
section.SectionInformation.IsProtected);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}