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

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

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

Database.connect介绍

[英]Open the database connection.
[中]

代码示例

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

  1. /**
  2. * Open the database connection.
  3. *
  4. * @param partitionId the partition ID in the cluster to connect to.
  5. * @throws KettleDatabaseException if something went wrong.
  6. */
  7. public void connect( String partitionId ) throws KettleDatabaseException {
  8. connect( null, partitionId );
  9. }

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

  1. /**
  2. * Open the database connection.
  3. *
  4. * @throws KettleDatabaseException if something went wrong.
  5. */
  6. public void connect() throws KettleDatabaseException {
  7. connect( null );
  8. }

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

  1. @Override public boolean test() {
  2. try {
  3. getDatabase().connect();
  4. } catch ( KettleDatabaseException kde ) {
  5. return false;
  6. }
  7. return true;
  8. }

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

  1. public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
  2. db = new Database( Spoon.loggingObject, dbMeta );
  3. try {
  4. db.connect();
  5. result = db.getQueryFields( sql, false );
  6. if ( monitor.isCanceled() ) {
  7. throw new InvocationTargetException( new Exception( "This operation was cancelled!" ) );
  8. }
  9. } catch ( Exception e ) {
  10. throw new InvocationTargetException( e, "Problem encountered determining query fields: " + e.toString() );
  11. } finally {
  12. db.disconnect();
  13. }
  14. }
  15. };

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

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

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

  1. protected RowMetaInterface getDatabaseTableFields( Database db, String schemaName, String tableName )
  2. throws KettleDatabaseException {
  3. // First try without connecting to the database... (can be S L O W)
  4. String schemaTable = databaseMeta.getQuotedSchemaTableCombination( schemaName, tableName );
  5. RowMetaInterface extraFields = db.getTableFields( schemaTable );
  6. if ( extraFields == null ) { // now we need to connect
  7. db.connect();
  8. extraFields = db.getTableFields( schemaTable );
  9. }
  10. return extraFields;
  11. }

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

  1. private RowMetaInterface getTableFields( LoggingObjectInterface parentLoggingObject ) throws KettleDatabaseException {
  2. Database database = new Database( parentLoggingObject, databaseMeta );
  3. try {
  4. database.connect();
  5. return database.getTableFields( schemaTable );
  6. } finally {
  7. database.disconnect();
  8. }
  9. }

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

  1. void connect() throws KettleException {
  2. if ( getTransMeta().isUsingUniqueConnections() ) {
  3. synchronized ( getTrans() ) {
  4. data.db.connect( getTrans().getTransactionId(), getPartitionID() );
  5. }
  6. } else {
  7. data.db.connect( getPartitionID() );
  8. }
  9. }

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

  1. public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
  2. db = new Database( Spoon.loggingObject, dbMeta );
  3. try {
  4. db.connect();
  5. String sql = dbMeta.getDatabaseInterface().getSelectCountStatement( tableName );
  6. RowMetaAndData row = db.getOneRow( sql );
  7. size = row.getRowMeta().getInteger( row.getData(), 0 );
  8. if ( monitor.isCanceled() ) {
  9. throw new InvocationTargetException( new Exception( "This operation was cancelled!" ) );
  10. }
  11. } catch ( KettleException e ) {
  12. throw new InvocationTargetException( e, "Couldn't get a result because of an error :" + e.toString() );
  13. } finally {
  14. db.disconnect();
  15. }
  16. }
  17. };

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

  1. protected void checkConnection() throws KettleDatabaseException {
  2. // check connection
  3. // connect and disconnect
  4. Database dbchecked = null;
  5. try {
  6. dbchecked = new Database( this, connection );
  7. dbchecked.shareVariablesWith( this );
  8. dbchecked.connect( parentJob.getTransactionId(), null );
  9. } finally {
  10. if ( dbchecked != null ) {
  11. dbchecked.disconnect();
  12. }
  13. }
  14. }

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

  1. @Test
  2. public void jobFail_columnNotExist() throws KettleException {
  3. doReturn( db ).when( jobEntry ).getNewDatabaseFromMeta();
  4. doNothing().when( db ).connect( anyString(), anyString() );
  5. doReturn( true ).when( db ).checkTableExists( anyString(), anyString() );
  6. doReturn( false ).when( db ).checkColumnExists( anyString(), anyString(), anyString() );
  7. final Result result = jobEntry.execute( new Result(), 0 );
  8. assertEquals( "Should be some errors", 1, result.getNrErrors() );
  9. assertFalse( "Result should be false", result.getResult() );
  10. verify( db, atLeastOnce() ).disconnect();
  11. }

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

  1. /**
  2. * @return the database.
  3. * @throws KettleException
  4. * if an error occurs.
  5. */
  6. public Database connectToDatabase() throws KettleException {
  7. if ( this.getDbMeta() != null ) {
  8. Database db = new Database( loggingObject, this.getDbMeta() );
  9. db.connect();
  10. return db;
  11. }
  12. throw new KettleException( MESSAGES.getString( "TeraFastMeta.Exception.ConnectionNotDefined" ) );
  13. }

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

  1. @Test
  2. public void jobSuccess() throws KettleException {
  3. doReturn( db ).when( jobEntry ).getNewDatabaseFromMeta();
  4. doNothing().when( db ).connect( anyString(), anyString() );
  5. doReturn( true ).when( db ).checkColumnExists( anyString(), anyString(), anyString() );
  6. doReturn( true ).when( db ).checkTableExists( anyString(), anyString() );
  7. final Result result = jobEntry.execute( new Result(), 0 );
  8. assertEquals( "Should be no error", 0, result.getNrErrors() );
  9. assertTrue( "Result should be true", result.getResult() );
  10. assertEquals( "Lines written", COLUMNS.length, result.getNrLinesWritten() );
  11. verify( db, atLeastOnce() ).disconnect();
  12. }
  13. }

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

  1. @Test
  2. public void jobFail_tableNotExist() throws KettleException {
  3. when( jobEntry.getNewDatabaseFromMeta() ).thenReturn( db );
  4. doNothing().when( db ).connect( anyString(), any() );
  5. doReturn( false ).when( db ).checkTableExists( anyString(), anyString() );
  6. final Result result = jobEntry.execute( new Result(), 0 );
  7. assertEquals( "Should be error", 1, result.getNrErrors() );
  8. assertFalse( "Result should be false", result.getResult() );
  9. verify( db, atLeastOnce() ).disconnect();
  10. }

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

  1. public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
  2. db = new Database( Spoon.loggingObject, dbMeta );
  3. try {
  4. db.connect();
  5. if ( limit > 0 ) {
  6. db.setQueryLimit( limit );
  7. }
  8. rows = db.getFirstRows( tableName, limit, new ProgressMonitorAdapter( monitor ) );
  9. rowMeta = db.getReturnRowMeta();
  10. } catch ( KettleException e ) {
  11. throw new InvocationTargetException( e, "Couldn't find any rows because of an error :" + e.toString() );
  12. } finally {
  13. db.disconnect();
  14. }
  15. }
  16. };

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

  1. private void connectDatabase( Database database ) throws KettleDatabaseException {
  2. database.shareVariablesWith( this );
  3. if ( getTransMeta().isUsingUniqueConnections() ) {
  4. synchronized ( getTrans() ) {
  5. database.connect( getTrans().getTransactionId(), getPartitionID() );
  6. }
  7. } else {
  8. database.connect( getPartitionID() );
  9. }
  10. database.setCommit( 100 ); // we never get a commit, but it just turns off auto-commit.
  11. if ( log.isDetailed() ) {
  12. logDetailed( BaseMessages.getString( PKG, "DatabaseLookup.Log.ConnectedToDatabase" ) );
  13. }
  14. }
  15. }

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

  1. @Override
  2. public RowMetaInterface getTableFields() {
  3. RowMetaInterface fields = null;
  4. if ( databaseMeta != null ) {
  5. Database db = createDatabaseObject();
  6. try {
  7. db.connect();
  8. fields = db.getTableFieldsMeta( schemaName, tableName );
  9. } catch ( KettleDatabaseException dbe ) {
  10. logError( BaseMessages.getString( PKG, "DimensionLookupMeta.Log.DatabaseErrorOccurred" ) + dbe.getMessage() );
  11. } finally {
  12. db.disconnect();
  13. }
  14. }
  15. return fields;
  16. }

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

  1. public boolean getInputData() {
  2. // Get some data...
  3. RipDatabaseWizardPage1 page1 = (RipDatabaseWizardPage1) getPreviousPage();
  4. Database sourceDb = new Database( RipDatabaseWizard.loggingObject, page1.getSourceDatabase() );
  5. try {
  6. sourceDb.connect();
  7. input = sourceDb.getTablenames( false ); // Don't include the schema since it can cause invalid syntax
  8. } catch ( KettleDatabaseException dbe ) {
  9. new ErrorDialog( shell, "Error getting tables", "Error obtaining table list from database!", dbe );
  10. input = null;
  11. return false;
  12. } finally {
  13. sourceDb.disconnect();
  14. }
  15. return true;
  16. }

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

  1. public boolean getInputData() {
  2. // Get some data...
  3. CopyTableWizardPage1 page1 = (CopyTableWizardPage1) getPreviousPage();
  4. Database sourceDb = new Database( CopyTableWizard.loggingObject, page1.getSourceDatabase() );
  5. try {
  6. sourceDb.connect();
  7. input = sourceDb.getTablenames();
  8. } catch ( KettleDatabaseException dbe ) {
  9. new ErrorDialog(
  10. shell, BaseMessages.getString( PKG, "CopyTableWizardPage2.ErrorGettingTables.DialogTitle" ),
  11. BaseMessages.getString( PKG, "CopyTableWizardPage2.ErrorGettingTables.DialogMessage" ), dbe );
  12. input = null;
  13. return false;
  14. } finally {
  15. sourceDb.disconnect();
  16. }
  17. return true;
  18. }

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

  1. /**
  2. * Execute fastload.
  3. *
  4. * @throws KettleException
  5. * ...
  6. */
  7. public void execute() throws KettleException {
  8. if ( this.meta.getTruncateTable().getValue() ) {
  9. Database db = new Database( this, this.meta.getDbMeta() );
  10. db.connect();
  11. db.truncateTable( this.meta.getTargetTable().getValue() );
  12. db.commit();
  13. db.disconnect();
  14. }
  15. startFastLoad();
  16. if ( this.meta.getUseControlFile().getValue() ) {
  17. this.invokeLoadingControlFile();
  18. } else {
  19. this.invokeLoadingCommand();
  20. }
  21. }

相关文章