コード例 #1
0
        private BaseMetadataProvider GetMetadataProvider()
        {
            BaseMetadataProvider metaprov = null;

            switch (this.DatabasePlatform)
            {
            case QueryBuilderDatabasePlatform.MSSQLServer:
                metaprov            = new MSSQLMetadataProvider();
                metaprov.Connection = new SqlConnection(this.ConnectionString);
                break;

            case QueryBuilderDatabasePlatform.SQLServerCE:
                //metaprov = new MSSQLCEMetadataProvider();  //does not work
                //metaprov = new UniversalMetadataProvider();  //does not work
                //metaprov.Connection = new SqlCeConnection(this.ConnectionString);

                string oledbConnectionString = ConvertSQLCE35ConnectionStringToOLEDB(this.ConnectionString);
                metaprov            = new OLEDBMetadataProvider();
                metaprov.Connection = new OleDbConnection(oledbConnectionString);
                queryBuilder.DatabaseSchemaTreeOptions.DefaultExpandLevel = 0;
                break;

            case QueryBuilderDatabasePlatform.OLEDB:
                metaprov            = new OLEDBMetadataProvider();
                metaprov.Connection = new OleDbConnection(this.ConnectionString);
                break;

            case QueryBuilderDatabasePlatform.ODBC:
                metaprov            = new ODBCMetadataProvider();
                metaprov.Connection = new OdbcConnection(this.ConnectionString);
                break;

            case QueryBuilderDatabasePlatform.MSAccess:
                metaprov            = new OLEDBMetadataProvider();
                metaprov.Connection = new OleDbConnection(this.ConnectionString);
                queryBuilder.DatabaseSchemaTreeOptions.DefaultExpandLevel = 0;
                break;

            case QueryBuilderDatabasePlatform.Oracle:
                metaprov            = new OracleMetadataProvider();
                metaprov.Connection = new System.Data.OracleClient.OracleConnection(this.ConnectionString);
                queryBuilder.DatabaseSchemaTreeOptions.DefaultExpandLevel = 0;
                break;

            default:
                metaprov            = new UniversalMetadataProvider();
                metaprov.Connection = new OdbcConnection(this.ConnectionString);
                break;
            }

            return(metaprov);
        }
        private void btnTest_Click(object sender, RoutedEventArgs e)
        {
            var metadataProvider = new ODBCMetadataProvider {
                Connection = new OdbcConnection(ConnectionString)
            };
            Type syntaxProviderType = null;

            try
            {
                syntaxProviderType = Helpers.AutodetectSyntaxProvider(metadataProvider);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error");
            }

            DoSyntaxDetected(syntaxProviderType);
        }