public override string BrowseConnectionString(string connstr) { MyMetaPluginContext pluginContext = new MyMetaPluginContext(this.DriverId, connstr); plugin.Initialize(pluginContext); return(plugin.GetDatabaseSpecificMetaData(null, "BrowseDatabase") as string); }
public static void Test(IMyMetaTestContext criteria) { IMyMetaPlugin plugin = null; try { plugin = dbRoot.Plugins[criteria.ProviderType] as IMyMetaPlugin; IMyMetaPluginContext context = new MyMetaPluginContext(plugin.ProviderUniqueKey, criteria.ConnectionString); plugin.Initialize(context); using (IDbConnection conn = plugin.NewConnection) { conn.Open(); conn.Close(); } criteria.AppendLog("Connection Test Successful."); } catch (Exception ex) { criteria.AppendLog("Error testing connection", ex); } _databases = null; TestDatabases(criteria, plugin); TestTables(criteria, plugin); TestViews(criteria, plugin); TestProcedures(criteria, plugin); _databases = null; }
/// <summary> /// A Plugin ConnectionString is a special feature for external assemblies. /// </summary> /// <param name="pluginConnectionString">Sample: PluginName;Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Data Source=localhost</param> /// <param name="plugin">Returns the plugin object.</param> /// <returns></returns> private IDbConnection GetConnectionFromPlugin(string providerName, string pluginConnectionString, out IMyMetaPlugin plugin) { MyMetaPluginContext pluginContext = new MyMetaPluginContext(providerName, pluginConnectionString); IDbConnection connection = null; if (!Plugins.ContainsKey(providerName)) { throw new Exception("MyMeta Plugin \"" + providerName + "\" not registered."); } else { plugin = Plugins[providerName] as IMyMetaPlugin; plugin.Initialize(pluginContext); connection = plugin.NewConnection; } return connection; }