pentaho/pentaho-kettle · error · KettleException

IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined

IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined

Error message

IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined

What it means

verifyDatabaseConnection throws a KettleException whose message comes from the message bundle key IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined when the step has no database connection configured. It is a fail-fast check executed in init() before any row processing.

Solutions

  1. Open the Ingres VectorWise Loader step dialog and select a database connection.
  2. If the connection was deleted, recreate it and re-select it in the step.
  3. For programmatic use, call meta.setDatabaseMeta(new DatabaseMeta(...)) before initializing the step.

Example fix

// before: step initialized without a connection
IngresVectorwiseLoaderMeta meta = new IngresVectorwiseLoaderMeta();
// after: define the connection first
IngresVectorwiseLoaderMeta meta = new IngresVectorwiseLoaderMeta();
meta.setDatabaseMeta(new DatabaseMeta("ingres", "INGRES", "Native", host, db, port, user, pass));
Defensive patterns

Strategy: validation

Validate before calling

if (meta.getDatabaseMeta() == null) { throw new IllegalStateException("Select a database connection on the Ingres VectorWise Loader step before running"); }

Try / catch

try { trans.execute(...); } catch (KettleException e) { if (e.getMessage().contains("NoConnectionDefined")) { /* prompt user to configure connection */ } }

Prevention

When it happens

Trigger: init() -> verifyDatabaseConnection() finds meta.getDatabaseMeta() == null, i.e. the step's 'Connection' field was never set or the referenced connection was deleted.

Common situations: Building a transformation programmatically without setting the connection; importing transformations where the connection reference was lost; deleting a shared connection that the step still points to.

Understand the failure class

Background: "is required", "must be set", "missing required field": configuration validation errors across open-source libraries — this error's family across 36 libraries.

Related errors


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/c1f6ea2267902933. Report an issue: GitHub.

Appendix: source

Thrown at plugins/ivw-bulk-loader/impl/src/main/java/org/pentaho/di/trans/steps/ivwloader/IngresVectorwiseLoader.java:616

      if ( data.byteBuffer.remaining() > content.length ) {
        // Yes, there is room: add content to buffer
        //
        data.byteBuffer.put( content );
      } else {
        // No: empty the buffer to disk
        //
        data.byteBuffer.flip();
        data.fileChannel.write( data.byteBuffer );
        data.byteBuffer.clear();
        data.byteBuffer.put( content );
      }
    }
  }

  protected void verifyDatabaseConnection() throws KettleException {
    // Confirming Database Connection is defined.
    if ( meta.getDatabaseMeta() == null ) {
      throw new KettleException( BaseMessages.getString( PKG, "IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined" ) );
    }
  }

  public boolean init( StepMetaInterface smi, StepDataInterface sdi ) {
    meta = (IngresVectorwiseLoaderMeta) smi;
    data = (IngresVectorwiseLoaderData) sdi;

    if ( super.init( smi, sdi ) ) {

      // Confirming Database Connection is defined.
      try {
        verifyDatabaseConnection();
      } catch ( KettleException ex ) {
        logError( ex.getMessage() );
        return false;
      }

      if ( Utils.isEmpty( meta.getDelimiter() ) ) {

View on GitHub (pinned to f3058517a1)