private static MruConnections LoadMruConnectionParametersFromFile(string mruConnectionsPath) { if (!String.IsNullOrEmpty(mruConnectionsPath) && File.Exists(mruConnectionsPath)) { try { MruConnections mruConnections = MruConnections.LoadFromFile(mruConnectionsPath); return(mruConnections); } catch (Exception e) { string context = MethodInfo.GetCurrentMethod().Name; Debug.WriteLine(String.Format("{0}: Failed to load connections because [{1}].", context, e.Message)); } } return(null); }
private void ReloadSettings() { SettingsManager settingsManager = SettingsManager.GetInstance( application ); this.mruConnections = settingsManager.MruDbConnectionParameters; this.dbConnectionParameter = settingsManager.CurrentDbConnectionParameter; this.scriptParameters = settingsManager.ScriptParameters; InitObjectSelectionComboBox(); this.reloadSettings = false; if ( dbConnectionParameter != null ) { dbConnectionParameter.GetDatasourceNameValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetDatasourceNameValues ); dbConnectionParameter.GetDatasourceAddressValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetDatasourceAddressValues ); dbConnectionParameter.GetCatalogValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetCatalogValues ); dbConnectionParameter.GetUserIdValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetUserIdValues ); dbConnectionParameter.PropertyChanged += new PropertyChangedEventHandler( DbConnectionParameter_PropertyChanged ); } }
/// <summary> /// Update the most recently used db connection parameter in the application data folder. /// </summary> /// <param name="dbConnectionParameter">The db connection parameter.</param> internal void SaveDbConnectionParameterInMruHistory(DbConnectionParameter dbConnectionParameter) { MruConnections mruConnections = MruDbConnectionParameters; if (mruConnections == null) { return; } bool parameterChanged = MruDbConnectionParameterAdapter.SetMruDbConnectionParameter(mruConnections, dbConnectionParameter); if (!parameterChanged) { return; } string mruConnectionsPath = GetGlobalFilePath(MruConnectionFileName); if (String.IsNullOrEmpty(mruConnectionsPath)) { return; } try { string directory = Path.GetDirectoryName(mruConnectionsPath); Directory.CreateDirectory(directory); using (Stream stream = new FileStream(mruConnectionsPath, FileMode.Create, FileAccess.Write, FileShare.None, 4096, FileOptions.SequentialScan)) { XmlSchema xmlSchema = MruConnections.Schema; XmlSerializer serializer = new XmlSerializer(typeof(MruConnections), xmlSchema.TargetNamespace); serializer.Serialize(stream, mruConnections); stream.Close(); } } catch (Exception ex) { string context = MethodInfo.GetCurrentMethod().Name; string message = String.Format("{0}: Failed to save connection settings because [{1}].", context, ex.Message); Debug.WriteLine(message); var outputPane = Output.GetAndActivateOutputPane((EnvDTE80.DTE2)application); outputPane.OutputString(message); } }
private static void SelectMruDatasource(DbConnectionParameter parameter, MruConnections mruConnection) { if (mruConnection == null) { return; } var datasources = mruConnection.FindDatasources(parameter.Provider); if (datasources == null || datasources.Datasource == null || datasources.Datasource.Count == 0) { return; } var datasource = datasources.Datasource[0]; parameter.DatasourceComment = datasource.Comment; parameter.DatasourceAddress = datasource.Address; parameter.DatasourcePort = datasource.Port; SelectMruDatasourceParameter(parameter, datasource); }
private static void SelectMruDatasourceParameterByComment(DbConnectionParameter parameter, MruConnections mruConnection) { if (mruConnection == null) { return; } var provider = parameter.Provider; var datasource = mruConnection.FindDatasourceByComment(ref provider, parameter.DatasourceComment); if (datasource == null) { return; } parameter.Provider = provider; parameter.DatasourceComment = datasource.Comment; parameter.DatasourceAddress = datasource.Address; parameter.DatasourcePort = datasource.Port; SelectMruDatasourceParameter(parameter, datasource); }