在远程创建DSN ODBC连接时添加自定义登录ID和密码

时间:2014-11-12 08:56:20

标签: c# sql-server windows odbc registry

我编写了一个可以远程创建ODBC DSN连接的代码。我能够将注册表项添加到ODBC.INI。连接显示在ODBC数据源管理器中。

我正在努力的是当我使用用户输入的登录ID和密码选择SQL Server身份验证时。默认情况下,它会占用运行程序的用户,而我希望在运行代码时由用户决定它。所有其他条目均由用户输入。

enter image description here

我应该如何实现这一目标?我尝试向注册表项添加属性,但这似乎不起作用。

这是我的代码的一部分,基本上添加了注册表项。

 string reg_location = "SOFTWARE\\ODBC\\ODBC.INI";
            dsn_name = reg_location + "\\" + dsn_name;
            RegistryKey Key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, destination_server).CreateSubKey(dsn_name);
            using (Key)
            {
                Key.SetValue("Database", database);
                Key.SetValue("Description", description);
                Key.SetValue("Driver", driver);
                Key.SetValue("Server", server);
                if (trusted_connection.ToLower().Equals("yes") || trusted_connection.ToLower().Equals("true") || trusted_connection.ToLower().Equals("sspi"))
                    Key.SetValue("Trusted_Connection", trusted_connection);
                else if (trusted_connection.ToLower().Equals("false") || trusted_connection.ToLower().Equals("no"))
                {
                    Key.SetValue("User Id", ss_username.Text);
                    Key.SetValue("Password ", ss_password.Text);
                }
                Key.SetValue("LastUser", System.Security.Principal.WindowsIdentity.GetCurrent().Name);
            }

0 个答案:

没有答案