ODBC连接字符串(DSN)

时间:2017-03-17 13:50:19

标签: c# odbc vsto

我正在为Excel开发一个插件(用于从各种来源进行自定义报告和数据提取)。

现在我正在与ODBC connection(特别是DSN)斗争。尽管我已经创建了一个专用的DSN并指向应用程序使用它,但我必须在连接字符串(pwd,用户名,数据库名称等)中指定相同的信息才能使其正常工作。

我不想在xml文件中公开这种类型的信息,并想知道是否可以强制应用程序仅使用来自DSN的信息(或者,作为替代方法,在自定义xml中编码conn。字符串文件)?

1 个答案:

答案 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);
    }
}