In meiner Anwendung, die Verbindung mit MS Sql-Datenbank, verwende ich Microsoft.Data.ConnectionUI
Und meine Anwendung funktioniert in meinem Computer. Wenn ich diese Anwendung in einem anderen Computer ausführen, wenn ich Verbindungsdialog öffnen, sehe ich, dass Fehler: Fehler beim Entschlüsseln mit dem Provider 'RsaProtectedConfigurationProvider'
, dass mein Code hierfür lautet:
try
{
connectionString = ShowDialogConnection();
SqlConnection connect = new SqlConnection(connectionString);
connect.Open();
backgroundWorker1.RunWorkerAsync();
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
string ShowDialogConnection()
{
string conn = "";
DataConnectionDialog dlg = new DataConnectionDialog();
DataSource.AddStandardDataSources(dlg);
dlg.SelectedDataSource = DataSource.SqlDataSource;
dlg.SelectedDataProvider = DataProvider.SqlDataProvider;
if (ConfigurationManager.ConnectionStrings["ConStr"] != null)
{
dlg.ConnectionString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
}
if (DataConnectionDialog.Show(dlg) == DialogResult.OK)
{
if (dlg.ConnectionString != null && dlg.ConnectionString != "")
{
conn = dlg.ConnectionString;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
csSection.SectionInformation.ForceSave = true;
ConnectionStringSettings csSettings = new ConnectionStringSettings("ConStr", dlg.ConnectionString, "System.Data.SqlClient");
if (csSection.ConnectionStrings["ConStr"] != null)
csSection.ConnectionStrings.Remove("ConStr");
csSection.ConnectionStrings.Add(csSettings);
config.Save(ConfigurationSaveMode.Modified);
}
}
return conn;
}
Was ich damit tun müssen?
Können Sie uns die Fehlermeldung vom Anbieter übersetzen? –
@RemusRusanu Ja kann ich. "Fehlermeldung vom Anbieter: Ungültige Daten." – EXTRAM