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

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

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

Database.openQuery介绍

[英]Open a query on the database with a set of parameters stored in a Kettle Row
[中]在数据库上打开一个查询,其中一组参数存储在一行中

代码示例

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

  1. /**
  2. * Open a query on the database with a set of parameters stored in a Kettle Row
  3. *
  4. * @param sql The SQL to launch with question marks (?) as placeholders for the parameters
  5. * @param params The parameters or null if no parameters are used.
  6. * @return A JDBC ResultSet
  7. * @throws KettleDatabaseException when something goes wrong with the query.
  8. * @data the parameter data to open the query with
  9. */
  10. public ResultSet openQuery( String sql, RowMetaInterface params, Object[] data ) throws KettleDatabaseException {
  11. return openQuery( sql, params, data, ResultSet.FETCH_FORWARD );
  12. }

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

  1. public ResultSet openQuery( String sql ) throws KettleDatabaseException {
  2. return openQuery( sql, null, null );
  3. }

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

  1. /**
  2. * Reads the result of an SQL query into an ArrayList.
  3. *
  4. * @param sql The SQL to launch
  5. * @param params The types of any parameters to be passed to the query
  6. * @param data The values of any parameters to be passed to the query
  7. * @param fetch_mode The fetch mode for the query (ResultSet.FETCH_FORWARD, e.g.)
  8. * @param lazyConversion Whether to perform lazy conversion of the values
  9. * @param limit <=0 means unlimited, otherwise this specifies the maximum number of rows read.
  10. * @param monitor The progress monitor to update while getting the rows.
  11. * @return An ArrayList of rows.
  12. * @throws KettleDatabaseException if something goes wrong.
  13. */
  14. public List<Object[]> getRows( String sql, RowMetaInterface params, Object[] data, int fetch_mode,
  15. boolean lazyConversion, int limit, ProgressMonitorListener monitor )
  16. throws KettleDatabaseException {
  17. if ( monitor != null ) {
  18. monitor.setTaskName( "Opening query..." );
  19. }
  20. ResultSet rset = openQuery( sql, params, data, fetch_mode, lazyConversion );
  21. return getRows( rset, limit, monitor );
  22. }

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

  1. @Override public String[] call() throws Exception {
  2. ResultSet resultSet = database.openQuery( ps, parameterMeta, parameterData );
  3. List<Object[]> rows = database.getRows( resultSet, 0, null );
  4. if ( Utils.isEmpty( rows ) ) {
  5. return new String[ 0 ];
  6. }
  7. // assemble the result
  8. //
  9. RowMetaInterface rowMeta = database.getReturnRowMeta();
  10. String[] strings = new String[ rows.size() ];
  11. for ( int i = 0; i < strings.length; i++ ) {
  12. Object[] row = rows.get( i );
  13. strings[ i ] = rowMeta.getString( row, 0 );
  14. }
  15. return strings;
  16. }
  17. } );

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

  1. @Override public ObjectId[] call() throws Exception {
  2. ResultSet resultSet = database.openQuery( ps, parameterMeta, parameterData );
  3. List<Object[]> rows = database.getRows( resultSet, 0, null );
  4. if ( Utils.isEmpty( rows ) ) {
  5. return new ObjectId[ 0 ];
  6. }
  7. RowMetaInterface rowMeta = database.getReturnRowMeta();
  8. ObjectId[] ids = new ObjectId[ rows.size() ];
  9. for ( int i = 0; i < ids.length; i++ ) {
  10. Object[] row = rows.get( i );
  11. ids[ i ] = new LongObjectId( rowMeta.getInteger( row, 0 ) );
  12. }
  13. return ids;
  14. }
  15. } );

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

  1. public RowMetaAndData getOneRow( String sql, RowMetaInterface param, Object[] data ) throws KettleDatabaseException {
  2. ResultSet rs = openQuery( sql, param, data );
  3. if ( rs != null ) {

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

  1. ResultSet rs = openQuery( sql );
  2. if ( rs != null ) {

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

  1. res = database.openQuery( sql.toString() );
  2. if ( res != null ) {
  3. Object[] row = database.getRow( res );

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

  1. ResultSet rs = db.openQuery( strSQL );
  2. ResultSetMetaData resultSetMetaData = rs.getMetaData();
  3. int columnCount = resultSetMetaData.getColumnCount();

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

  1. @Override public Collection<RowMetaAndData> call() throws Exception {
  2. ResultSet resultSet = null;
  3. try {
  4. resultSet = database.openQuery( ps, parameterMeta, parameterData );
  5. List<Object[]> rows = database.getRows( resultSet, 0, null );
  6. for ( Object[] row : rows ) {
  7. RowMetaAndData rowWithMeta = new RowMetaAndData( database.getReturnRowMeta(), row );
  8. long id =
  9. rowWithMeta.getInteger(
  10. quote( KettleDatabaseRepository.FIELD_DATABASE_ATTRIBUTE_ID_DATABASE_ATTRIBUTE ), 0 );
  11. if ( id > 0 ) {
  12. attrs.add( rowWithMeta );
  13. }
  14. }
  15. return attrs;
  16. } catch ( KettleDatabaseException e ) {
  17. throw e;
  18. } finally {
  19. database.closeQuery( resultSet );
  20. }
  21. }
  22. } );

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

  1. @Override public List<RepositoryElementMetaInterface> call() throws Exception {
  2. List<RepositoryElementMetaInterface> repositoryObjects = new ArrayList<RepositoryElementMetaInterface>();
  3. ResultSet rs = database.openQuery( sql, directoryIdRow.getRowMeta(), directoryIdRow.getData() );
  4. if ( rs != null ) {
  5. List<Object[]> rows = database.getRows( rs, -1, null );
  6. if ( rs != null ) {
  7. database.closeQuery( rs );
  8. }
  9. RowMetaInterface rowMeta = database.getReturnRowMeta();
  10. for ( Object[] r : rows ) {
  11. ObjectId id = new LongObjectId( rowMeta.getInteger( r, 4 ) );
  12. repositoryObjects.add( new RepositoryObject( id, rowMeta.getString( r, 0 ), repositoryDirectory, rowMeta
  13. .getString( r, 1 ), rowMeta.getDate( r, 2 ), objectType, rowMeta.getString( r, 3 ), false ) );
  14. }
  15. }
  16. return repositoryObjects;
  17. }
  18. } );

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

  1. ResultSet rs = db.openQuery( strSQL );
  2. ResultSetMetaData resultSetMetaData = rs.getMetaData();
  3. int columnCount = resultSetMetaData.getColumnCount();

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

  1. ResultSet res = openQuery( sql );
  2. if ( res != null ) {
  3. Object[] row = getRow( res );

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

  1. @Override public RowMetaAndData call() throws Exception {
  2. ResultSet resultSet = null;
  3. resultSet = database.openQuery( ps, parameterMeta, parameterData );
  4. Object[] result = database.getRow( resultSet );
  5. if ( resultSet != null ) {
  6. database.closeQuery( resultSet );
  7. }
  8. if ( result == null ) {
  9. return new RowMetaAndData( database.getReturnRowMeta(), RowDataUtil.allocateRowData( database
  10. .getReturnRowMeta().size() ) );
  11. }
  12. return new RowMetaAndData( database.getReturnRowMeta(), result );
  13. }
  14. } );

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

  1. ResultSet res = null;
  2. try {
  3. res = database.openQuery( sql );
  4. if ( res != null ) {
  5. Object[] row = database.getRow( res );

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

  1. public synchronized void fillStepAttributesBuffer( ObjectId id_transformation ) throws KettleException {
  2. String sql =
  3. "SELECT "
  4. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_STEP ) + ", "
  5. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_CODE ) + ", "
  6. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_NR ) + ", "
  7. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_VALUE_NUM ) + ", "
  8. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_VALUE_STR ) + " " + "FROM "
  9. + databaseMeta.getQuotedSchemaTableCombination( null, KettleDatabaseRepository.TABLE_R_STEP_ATTRIBUTE )
  10. + " " + "WHERE " + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_TRANSFORMATION ) + " = ? "
  11. + "ORDER BY " + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_STEP ) + ", "
  12. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_CODE ) + ", "
  13. + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_NR );
  14. PreparedStatement ps = getPreparedStatement( sql );
  15. RowMetaAndData parameter = getParameterMetaData( id_transformation );
  16. stepAttributesBuffer = callRead(
  17. () -> database.getRows( database.openQuery( ps, parameter.getRowMeta(), parameter.getData() ), -1, null ) );
  18. stepAttributesRowMeta = database.getReturnRowMeta();
  19. // must use java-based sort to ensure compatibility with binary search
  20. // database ordering may or may not be case-insensitive
  21. // in case db sort does not match our sort
  22. //
  23. Collections.sort( stepAttributesBuffer, new StepAttributeComparator() ); //
  24. }

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

  1. data.rs = data.db.openQuery( sql, null, null, ResultSet.FETCH_FORWARD, meta.isLazyConversionActive() );
  2. } else {
  3. data.rs =
  4. data.db.openQuery( sql, parametersMeta, parameters, ResultSet.FETCH_FORWARD, meta
  5. .isLazyConversionActive() );

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

  1. public ResultSet openQuery( String sql, RowMetaInterface params, Object[] data, int fetch_mode,
  2. boolean lazyConversion ) throws KettleDatabaseException {
  3. ResultSet res;
  4. // Create a Statement
  5. try {
  6. log.snap( Metrics.METRIC_DATABASE_OPEN_QUERY_START, databaseMeta.getName() );
  7. if ( params != null ) {
  8. log.snap( Metrics.METRIC_DATABASE_PREPARE_SQL_START, databaseMeta.getName() );
  9. pstmt =
  10. connection.prepareStatement(
  11. databaseMeta.stripCR( sql ), ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY );
  12. log.snap( Metrics.METRIC_DATABASE_PREPARE_SQL_STOP, databaseMeta.getName() );
  13. log.snap( Metrics.METRIC_DATABASE_SQL_VALUES_START, databaseMeta.getName() );
  14. setValues( params, data ); // set the dates etc!
  15. log.snap( Metrics.METRIC_DATABASE_SQL_VALUES_STOP, databaseMeta.getName() );
  16. if ( canWeSetFetchSize( pstmt ) ) {
  17. int maxRows = pstmt.getMaxRows();
  18. int fs = Const.FETCH_SIZE <= maxRows ? maxRows : Const.FETCH_SIZE;
  19. if ( databaseMeta.isMySQLVariant() ) {
  20. setMysqlFetchSize( pstmt, fs, maxRows );
  21. } else {
  22. pstmt.setFetchSize( fs );
  23. }
  24. pstmt.setFetchDirection( fetch_mode );
  25. }

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

  1. ResultSet rs = null;
  2. try {
  3. rs = openQuery( sql, params, data );
  4. if ( rs != null ) {
  5. Object[] row = getRow( rs );

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

  1. ResultSet rs = data.db.openQuery( data.pstmt, data.lookupRowMeta, lookupRowData );

相关文章