public static IList<ProviderInfo> GetSchemaProviderInfos(string pluginDir) { IList<IDatabaseProvider> providers = GetSchemaProviders(pluginDir); if (providers == null) { return new List<ProviderInfo>(); } IList<ProviderInfo> providerInfos = new List<ProviderInfo>(); ProviderInfo providerInfo; foreach (var provider in providers) { providerInfo = new ProviderInfo(); providerInfo.Name = AttributeUtility.GetProviderName(provider.GetType()); providerInfo.Provider = provider; providerInfos.Add(providerInfo); } return providerInfos; }
private bool CheckConnection(ref ProviderInfo providerInfo) { bool connectSuccess = false; try { providerInfo.Provider.Database.ConnectionString = this.txtConnection.Text; connectSuccess = providerInfo.Provider.Database.Open(); } catch (Exception ex) { MessageBox.Show("连接不成功:" + ex.Message); providerInfo = null; connectSuccess = false; } finally { if (providerInfo != null && connectSuccess) { providerInfo.Provider.Database.Close(); } } return connectSuccess; }