Example #1
0
        public override string BrowseConnectionString(string connstr)
        {
            MyMetaPluginContext pluginContext = new MyMetaPluginContext(this.DriverId, connstr);

            plugin.Initialize(pluginContext);
            return(plugin.GetDatabaseSpecificMetaData(null, "BrowseDatabase") as string);
        }
Example #2
0
        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;
        }
Example #3
0
        /// <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;
        }