org.pentaho.di.core.database.Database.getTableFieldsMeta()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(174)

本文整理了Java中org.pentaho.di.core.database.Database.getTableFieldsMeta()方法的一些代码示例,展示了Database.getTableFieldsMeta()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Database.getTableFieldsMeta()方法的具体详情如下:
包路径:org.pentaho.di.core.database.Database
类名称:Database
方法名:getTableFieldsMeta

Database.getTableFieldsMeta介绍

[英]Returns a RowMeta describing the fields of a table.

This is a lighter implementation of #getTableFields(String) where metadata is used first and we only use statements when absolutely necessary.

Note that the ValueMeta returned here will not contain any actual values and as such, this method should be used whenever a simple list of columns is required, and we're not planning on looking at the actual data.

Contrary to previous versions of similar duplicated methods, this implementation does not require quoted identifiers.
[中]返回描述表字段的RowMeta。
这是#getTableFields(String)的一个轻量级实现,其中首先使用元数据,我们仅在绝对必要时使用语句。
请注意,此处返回的ValueMeta不包含任何实际值,因此,只要需要简单的列列表,就应该使用此方法,我们不打算查看实际数据。
与类似复制方法的早期版本相反,此实现不需要引用标识符。

代码示例

代码示例来源:origin: pentaho/pentaho-kettle

protected RowMetaInterface getDatabaseTableFields( Database db, String schemaName, String tableName )
 throws KettleDatabaseException {
 // First try without connecting to the database... (can be S L O W)
 RowMetaInterface extraFields = db.getTableFieldsMeta( schemaName, tableName );
 if ( extraFields == null ) { // now we need to connect
  db.connect();
  extraFields = db.getTableFieldsMeta( schemaName, tableName );
 }
 return extraFields;
}

代码示例来源:origin: pentaho/pentaho-kettle

private Database mockDatabase() throws KettleDatabaseException {
 Database databaseMock = mock( Database.class );
 RowMeta databaseRowMeta = new RowMeta();
 databaseRowMeta.addValueMeta( new ValueMetaString( "id" ) );
 databaseRowMeta.addValueMeta( new ValueMetaString( "value" ) );
 doReturn( databaseRowMeta ).when( databaseMock ).getTableFields( anyString() );
 doReturn( databaseRowMeta ).when( databaseMock ).getTableFieldsMeta( anyString(), anyString() );
 doReturn( Arrays.asList( new Object[][] { { "1", "value" } } ) ).when( databaseMock ).getRows( anyString(),
   anyInt() );
 doReturn( databaseRowMeta ).when( databaseMock ).getReturnRowMeta();
 return databaseMock;
}

代码示例来源:origin: pentaho/pentaho-kettle

private Database createVirtualDb( DatabaseMeta meta ) throws Exception {
 ResultSet rs = mock( ResultSet.class );
 when( rs.getMetaData() ).thenReturn( mock( ResultSetMetaData.class ) );
 PreparedStatement ps = mock( PreparedStatement.class );
 when( ps.executeQuery() ).thenReturn( rs );
 Connection connection = mock( Connection.class );
 when( connection.prepareStatement( anyString() ) ).thenReturn( ps );
 Database db = new Database( mock( LoggingObjectInterface.class ), meta );
 db.setConnection( connection );
 db = spy( db );
 doNothing().when( db ).normalConnect( anyString() );
 ValueMetaInterface binary = new ValueMetaString( BINARY_FIELD );
 binary.setStorageType( ValueMetaInterface.STORAGE_TYPE_BINARY_STRING );
 ValueMetaInterface id = new ValueMetaInteger( ID_FIELD );
 RowMetaInterface metaByQuerying = new RowMeta();
 metaByQuerying.addValueMeta( binary );
 metaByQuerying.addValueMeta( id );
 doReturn( metaByQuerying ).when( db ).getTableFields( anyString() );
 doReturn( metaByQuerying ).when( db ).getTableFieldsMeta( anyString(), anyString() );
 return db;
}

代码示例来源:origin: pentaho/pentaho-kettle

@Override
public RowMetaInterface getTableFields() {
 RowMetaInterface fields = null;
 if ( databaseMeta != null ) {
  Database db = createDatabaseObject();
  try {
   db.connect();
   fields = db.getTableFieldsMeta( schemaName, tableName );
  } catch ( KettleDatabaseException dbe ) {
   logError( BaseMessages.getString( PKG, "DimensionLookupMeta.Log.DatabaseErrorOccurred" ) + dbe.getMessage() );
  } finally {
   db.disconnect();
  }
 }
 return fields;
}

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * {@inheritDoc}
 *
 * @see org.pentaho.di.trans.step.BaseStepMeta#getRequiredFields(org.pentaho.di.core.variables.VariableSpace)
 */
@Override
public RowMetaInterface getRequiredFields( final VariableSpace space ) throws KettleException {
 if ( !this.useControlFile.getValue() ) {
  final Database database = connectToDatabase();
  database.shareVariablesWith( space );
  RowMetaInterface fields =
   database.getTableFieldsMeta(
    StringUtils.EMPTY,
    space.environmentSubstitute( this.targetTable.getValue() ) );
  database.disconnect();
  if ( fields == null ) {
   throw new KettleException( MESSAGES.getString( "TeraFastMeta.Exception.TableNotFound" ) );
  }
  return fields;
 }
 return null;
}

代码示例来源:origin: pentaho/pentaho-kettle

@Override
public RowMetaInterface getTableFields() {
 RowMetaInterface fields = null;
 if ( databaseMeta != null ) {
  Database db = new Database( loggingObject, databaseMeta );
  databases = new Database[] { db }; // Keep track of this one for cancelQuery
  try {
   db.connect();
   fields =
    db.getTableFieldsMeta(
     databaseMeta.environmentSubstitute( schemaName ),
     databaseMeta.environmentSubstitute( tablename ) );
  } catch ( KettleDatabaseException dbe ) {
   logError( BaseMessages.getString( PKG, "DatabaseLookupMeta.ERROR0004.ErrorGettingTableFields" )
     + dbe.getMessage() );
  } finally {
   db.disconnect();
  }
 }
 return fields;
}

代码示例来源:origin: pentaho/pentaho-kettle

public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException {
 String realTableName = space.environmentSubstitute( tableName );
 String realSchemaName = space.environmentSubstitute( schemaName );
 if ( databaseMeta != null ) {
  Database db = new Database( loggingObject, databaseMeta );
  try {
   db.connect();
   if ( !Utils.isEmpty( realTableName ) ) {
    // Check if this table exists...
    if ( db.checkTableExists( realSchemaName, realTableName ) ) {
     return db.getTableFieldsMeta( realSchemaName, realTableName );
    } else {
     throw new KettleException( BaseMessages.getString(
      PKG, "SynchronizeAfterMergeMeta.Exception.TableNotFound" ) );
    }
   } else {
    throw new KettleException( BaseMessages.getString(
     PKG, "SynchronizeAfterMergeMeta.Exception.TableNotSpecified" ) );
   }
  } catch ( Exception e ) {
   throw new KettleException( BaseMessages.getString(
    PKG, "SynchronizeAfterMergeMeta.Exception.ErrorGettingFields" ), e );
  } finally {
   db.disconnect();
  }
 } else {
  throw new KettleException( BaseMessages.getString(
   PKG, "SynchronizeAfterMergeMeta.Exception.ConnectionNotDefined" ) );
 }
}

代码示例来源:origin: pentaho/pentaho-kettle

public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException {
 String realTableName = space.environmentSubstitute( tablename );
 String realSchemaName = space.environmentSubstitute( schemaName );
 if ( databaseMeta != null ) {
  Database db = new Database( loggingObject, databaseMeta );
  try {
   db.connect();
   if ( !Utils.isEmpty( realTableName ) ) {
    // Check if this table exists...
    if ( db.checkTableExists( realSchemaName, realTableName ) ) {
     return db.getTableFieldsMeta( realSchemaName, realTableName );
    } else {
     throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.TableNotFound" ) );
    }
   } else {
    throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.TableNotSpecified" ) );
   }
  } catch ( Exception e ) {
   throw new KettleException(
    BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.ErrorGettingFields" ), e );
  } finally {
   db.disconnect();
  }
 } else {
  throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.ConnectionNotDefined" ) );
 }
}

代码示例来源:origin: pentaho/pentaho-kettle

public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException {
 String realTableName = space.environmentSubstitute( tableName );
 String realSchemaName = space.environmentSubstitute( schemaName );
 if ( databaseMeta != null ) {
  Database db = new Database( loggingObject, databaseMeta );
  try {
   db.connect();
   if ( !Utils.isEmpty( realTableName ) ) {
    // Check if this table exists...
    if ( db.checkTableExists( realSchemaName, realTableName ) ) {
     return db.getTableFieldsMeta( realSchemaName, realTableName );
    } else {
     throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.TableNotFound" ) );
    }
   } else {
    throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.TableNotSpecified" ) );
   }
  } catch ( Exception e ) {
   throw new KettleException(
    BaseMessages.getString( PKG, "TableOutputMeta.Exception.ErrorGettingFields" ), e );
  } finally {
   db.disconnect();
  }
 } else {
  throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.ConnectionNotDefined" ) );
 }
}

代码示例来源:origin: pentaho/pentaho-kettle

public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException {
 String realSchemaName = space.environmentSubstitute( schemaName );
 String realTableName = space.environmentSubstitute( tableName );
 if ( databaseMeta != null ) {
  Database db = new Database( loggingObject, databaseMeta );
  try {
   db.connect();
   if ( !Utils.isEmpty( realTableName ) ) {
    // Check if this table exists...
    if ( db.checkTableExists( realSchemaName, realTableName ) ) {
     return db.getTableFieldsMeta( realSchemaName, realTableName );
    } else {
     throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.TableNotFound" ) );
    }
   } else {
    throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.TableNotSpecified" ) );
   }
  } catch ( Exception e ) {
   throw new KettleException(
    BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.ErrorGettingFields" ), e );
  } finally {
   db.disconnect();
  }
 } else {
  throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.ConnectionNotDefined" ) );
 }
}

代码示例来源:origin: pentaho/pentaho-kettle

db.connect();
RowMetaInterface r = db.getTableFieldsMeta( schemaName, tableName );
if ( null != r ) {
 String[] fieldNames = r.getFieldNames();

代码示例来源:origin: pentaho/pentaho-kettle

try {
 db.connect();
 RowMetaInterface r = db.getTableFieldsMeta( wSchema.getText(), wTable.getText() );
 if ( r != null && !r.isEmpty() ) {
  BaseStepDialog.getFieldsFromPrevious(

代码示例来源:origin: pentaho/pentaho-kettle

db.getTableFieldsMeta(
 transMeta.environmentSubstitute( schemaName ),
 transMeta.environmentSubstitute( tableName ) );

代码示例来源:origin: pentaho/pentaho-kettle

db.getTableFieldsMeta(
 transMeta.environmentSubstitute( schemaName ),
 transMeta.environmentSubstitute( tableName ) );

代码示例来源:origin: pentaho/pentaho-kettle

db.getTableFieldsMeta(
 transMeta.environmentSubstitute( schemaName ),
 transMeta.environmentSubstitute( tableName ) );

代码示例来源:origin: pentaho/pentaho-kettle

database.connect();
RowMetaInterface row =
 database.getTableFieldsMeta( wSchemaname.getText(), wTablename.getText() );
String[] available = row.getFieldNames();

代码示例来源:origin: pentaho/pentaho-kettle

database.connect();
RowMetaInterface row =
 database.getTableFieldsMeta( wSchemaname.getText(), wTablename.getText() );
String[] available = row.getFieldNames();

代码示例来源:origin: pentaho/pentaho-kettle

database.connect();
RowMetaInterface row =
 database.getTableFieldsMeta(
  jobMeta.environmentSubstitute( wSchemaname.getText() ),
  jobMeta.environmentSubstitute( wTablename.getText() ) );

代码示例来源:origin: pentaho/pentaho-kettle

data.db.getTableFieldsMeta(
 environmentSubstitute( meta.getSchemaName() ),
 environmentSubstitute( meta.getTableName() ) );

代码示例来源:origin: pentaho/pentaho-kettle

db.getTableFieldsMeta(
 db.environmentSubstitute( wSchema.getText() ),
 db.environmentSubstitute( wTable.getText() ) );

相关文章

微信公众号

最新文章

更多