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); }