public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { MetadataItem obj = foreignKeys.Parent.Object; if (obj.Server == null) { MetadataItem database = obj.Database; try { string[] restrictions = new string[5]; restrictions[0] = database != null ? database.Name : null; restrictions[2] = obj.Name; DataTable schemaTable = _connection.GetSchema("ForeignKeys", restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions) { PkDatabaseFieldName = "FKEY_TO_CATALOG", PkNameFieldName = "FKEY_TO_TABLE", PkFieldName = "FKEY_TO_COLUMN", FkFieldName = "FKEY_FROM_COLUMN", OrdinalFieldName = "FKEY_FROM_ORDINAL_POSITION", Datatable = schemaTable }; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { if (!Connected) { Connect(); } // load FKs try { MetadataItem obj = foreignKeys.Parent.Object; string[] restrictions = new string[5]; restrictions[2] = obj.Name; DataTable schemaTable = _connection.GetSchema(VistaDBConnection.SchemaConstants.SCHEMA_FOREIGNKEYCOLUMNS, restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); mrf.PkNameFieldName = "FKEY_TO_TABLE"; mrf.PkFieldName = "FKEY_TO_COLUMN"; mrf.FkFieldName = "FKEY_FROM_COLUMN"; mrf.ForeignKeyIdFieldName = "FKEY_TO_TABLE"; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { if (!Connected) { Connect(); } // load FKs try { MetadataItem obj = foreignKeys.Parent.Object; string[] restrictions = new string[3]; restrictions[2] = obj.Name; DataTable schemaTable = _connection.GetSchema("ForeignKeyColumns", restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); mrf.PkNameFieldName = "REFERENCED_TABLE_NAME"; mrf.PkFieldName = "REFERENCED_COLUMN_NAME"; mrf.FkFieldName = "COLUMN_NAME"; mrf.OrdinalFieldName = "ORDINAL_POSITION"; mrf.TrimSpaces = true; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { if (!Connected) { Connect(); } // load FKs try { MetadataItem obj = foreignKeys.Parent.Object; MetadataItem database = obj.Database; string[] restrictions = new string[2]; restrictions[0] = database != null ? database.Name : string.Empty; restrictions[1] = obj.Name; DataTable schemaTable = _connection.GetSchema("Foreign Key Columns", restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); if (foreignKeys.SQLContext.SyntaxProvider.IsSupportSchemas()) { mrf.PkSchemaFieldName = "TABLE_SCHEMA"; } else { mrf.PkDatabaseFieldName = "TABLE_SCHEMA"; } mrf.PkNameFieldName = "TABLE_NAME"; mrf.PkFieldName = "COLUMN_NAME"; mrf.FkFieldName = "REFERENCED_COLUMN_NAME"; mrf.OrdinalFieldName = "ORDINAL_POSITION"; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { if (!Connected) { Connect(); } MetadataItem obj = foreignKeys.Parent.Object; if (obj.Server == null) { MetadataItem schema = obj.Schema; MetadataItem database = obj.Database; try { object[] restrictions = new object[6]; restrictions[3] = database != null ? database.Name : null; restrictions[4] = schema != null ? schema.Name : null; restrictions[5] = obj.Name; DataTable schemaTable = _connection.GetOleDbSchemaTable(OleDbSchemaGuid.Foreign_Keys, restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); mrf.PkDatabaseFieldName = "PK_TABLE_CATALOG"; mrf.PkSchemaFieldName = "PK_TABLE_SCHEMA"; mrf.PkNameFieldName = "PK_TABLE_NAME"; mrf.PkFieldName = "PK_COLUMN_NAME"; mrf.FkFieldName = "FK_COLUMN_NAME"; mrf.OrdinalFieldName = "ORDINAL"; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { MetadataItem obj = foreignKeys.Parent.Object; if (obj.Server == null) { MetadataItem schema = obj.Schema; MetadataItem database = obj.Database; try { string[] restrictions = new string[6]; restrictions[3] = database != null ? database.Name : null; restrictions[4] = schema != null ? schema.Name : null; restrictions[5] = obj.Name; DataTable schemaTable = _connection.GetSchema("ForeignKeys", restrictions); if (schemaTable.Columns.Contains("PKTABLE_NAME") && schemaTable.Columns.Contains("PKCOLUMN_NAME") && schemaTable.Columns.Contains("FKCOLUMN_NAME")) { MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); mrf.PkDatabaseFieldName = "PKTABLE_CAT"; mrf.PkSchemaFieldName = "PKTABLE_SCHEM"; mrf.PkNameFieldName = "PKTABLE_NAME"; mrf.PkFieldName = "PKCOLUMN_NAME"; mrf.FkFieldName = "FKCOLUMN_NAME"; mrf.OrdinalFieldName = "KEY_SEQ"; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } } }
public override void LoadForeignKeys(MetadataList foreignKeys, MetadataLoadingOptions loadingOptions) { if (!Connected) { Connect(); } MetadataItem obj = foreignKeys.Parent.Object; MetadataItem schema = obj.Schema; MetadataItem database = obj.Database; try { string[] restrictions = new string[6]; restrictions[3] = database != null ? database.Name : null; restrictions[4] = schema != null ? schema.Name : null; restrictions[5] = obj.Name; DataTable schemaTable = _connection.GetSchema(DB2MetaDataCollectionNames.ForeignKeys, restrictions); MetadataForeignKeysFetcherFromDatatable mrf = new MetadataForeignKeysFetcherFromDatatable(foreignKeys, loadingOptions); mrf.PkSchemaFieldName = "PKTABLE_SCHEMA"; mrf.PkDatabaseFieldName = "PKTABLE_CATALOG"; mrf.PkNameFieldName = "PKTABLE_NAME"; mrf.FkFieldName = "FKTABLE_NAME"; mrf.PkFieldName = "PKCOLUMN_NAME"; mrf.FkFieldName = "FKCOLUMN_NAME"; mrf.OrdinalFieldName = "KEY_SEQ"; mrf.Datatable = schemaTable; mrf.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } }