我编写了一个可以远程创建ODBC DSN连接的代码。我能够将注册表项添加到ODBC.INI。连接显示在ODBC数据源管理器中。
我正在努力的是当我使用用户输入的登录ID和密码选择SQL Server身份验证时。默认情况下,它会占用运行程序的用户,而我希望在运行代码时由用户决定它。所有其他条目均由用户输入。
我应该如何实现这一目标?我尝试向注册表项添加属性,但这似乎不起作用。
这是我的代码的一部分,基本上添加了注册表项。
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);
}