我正在开发一个Excel插件(用于从各种来源定制报告和数据提取)。ODBC连接字符串(DSN)
现在,我与ODBC connection
(DSN尤其是)挣扎。尽管我创建了一个专用DSN并指出应用程序使用它,但我必须在连接字符串(pwd,用户名,db名称等)中指定相同的信息才能使其正常工作。
我不想在xml文件中公开此类信息,并想知道是否可以强制应用程序仅使用DSN中的信息(或者,作为替代方案,可以在定制中对连接字符串进行编码xml文件)?
我正在开发一个Excel插件(用于从各种来源定制报告和数据提取)。ODBC连接字符串(DSN)
现在,我与ODBC connection
(DSN尤其是)挣扎。尽管我创建了一个专用DSN并指出应用程序使用它,但我必须在连接字符串(pwd,用户名,db名称等)中指定相同的信息才能使其正常工作。
我不想在xml文件中公开此类信息,并想知道是否可以强制应用程序仅使用DSN中的信息(或者,作为替代方案,可以在定制中对连接字符串进行编码xml文件)?
您可能想要加密连接字符串。详细信息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);
}
}
谢谢陪审团,这也是我正在考虑的事情。如果我不想与DSN一起计算,这是我的备用选项。 –
@JohnBull,实际上如MS建议的那样,在安全性方面,配置加密优于DSN:https://msdn.microsoft.com/en-us/library/ee658127.aspx –
请显示您所做的研究,并解释为什么它没有帮助。这是一个非常常见和广泛记录的话题。不显示你的研究吸引反对票,尤其是对可能有重复答案的常见问题。 –
没有什么特别的。我有一个文件(包含连接信息的自定义XML文件),像这样的: 天青 ODBC; DSN = Azure_SQL; UID =名为myUsername; PWD = userPwd;数据库= TESTDB; 连接> 我不明白为什么我需要重复我已经进入DSN相同的数据。我期望以下的东西工作: ODBC; Dsn = Azure_SQL; 即指向应用程序。仅限于DSN,但它不起作用。我不会说这个问题很常见。 –
从我在这里看到的(https://www.connectionstrings.com/dsn/)它无论如何都需要用户名和密码,但我不想将它们保存在共享的xml文件中。现在看来,该文件/康涅狄格州。字符串加密只是选项。 –