pentaho/pentaho-kettle · error · KettleException
InfobrightLoaderMeta.GetSQL.NoConnectionDefined
InfobrightLoaderMeta.GetSQL.NoConnectionDefined
Error message
InfobrightLoaderMeta.GetSQL.NoConnectionDefined
What it means
InfobrightLoader.verifyDatabaseConnection() throws this KettleException when the step's database meta (meta.getDatabaseMeta()) is null, meaning no Infobright/MySQL database connection is associated with the step. The message is an i18n key (InfobrightLoaderMeta.GetSQL.NoConnectionDefined) resolved via BaseMessages against the step's messages package.
Solutions
- Open the Infobright bulk loader step dialog and select/define the database connection
- Re-add the missing database connection to the transformation so the reference resolves
- If building metadata in code, call InfobrightLoaderMeta.setDatabaseMeta(...) before init
- Check the ktr XML for the step's <connection> element to confirm the connection name is present
Example fix
// before InfobrightLoaderMeta meta = new InfobrightLoaderMeta(); // after InfobrightLoaderMeta meta = new InfobrightLoaderMeta(); meta.setDatabaseMeta(DatabaseMeta.findDatabase(transMeta.getDatabases(), "Infobright"));
Defensive patterns
Strategy: validation
Validate before calling
if (meta.getDatabaseMeta() == null) { throw new IllegalStateException("Infobright loader step requires a database connection"); } Try / catch
try { step.init(...); } catch (KettleException e) { if (e.getMessage().contains("NoConnectionDefined")) { /* attach DatabaseMeta and re-init */ } } Prevention
- Always assign a database connection in the step dialog before saving
- When deleting shared connections, first check which steps reference them
- In code, setDatabaseMeta() before init/execute
- Validate transformations with a metadata lint before production runs
When it happens
Trigger: init() calls verifyDatabaseConnection() during step initialization and the step was saved without a database connection, or the connection reference failed to deserialize (connection deleted from the transformation).
Common situations: Developer created the step programmatically without calling setDatabaseMeta(); the shared DB connection was deleted so the metadata reference became null; transformation XML copied between projects lost the connection.
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
- GPBulkLoaderMeta.Exception.ConnectionNotDefined
- GPBulkLoaderMeta.Exception.TableNotSpecified
- LucidDBStreamingLoaderMeta.Exception.ConnectionNotDefined
- No connection specified
- SQLFileOutputMeta.Exception.ConnectionNotDefined
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/40e3592167140996.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/infobright-bulk-loader/impl/src/main/java/org/pentaho/di/trans/steps/infobrightoutput/InfobrightLoader.java:117
logBasic( "linenr " + getLinesRead() );
}
}
} catch ( Exception e ) {
logError( "Because of an error, this step can't continue: " + e.getMessage() );
logError( Const.getStackTracker( e ) );
setErrors( 1 );
stopAll();
setOutputDone(); // signal end to receiver(s)
closePipe();
return false;
}
return true;
}
protected void verifyDatabaseConnection() throws KettleException {
// Confirming Database Connection is defined.
if ( meta.getDatabaseMeta() == null ) {
throw new KettleException( BaseMessages.getString( PKG, "InfobrightLoaderMeta.GetSQL.NoConnectionDefined" ) );
}
}
/**
* {@inheritDoc}
*
* @see org.pentaho.di.trans.step.BaseStep#init(org.pentaho.di.trans.step.StepMetaInterface,
* org.pentaho.di.trans.step.StepDataInterface)
*/
public boolean init( StepMetaInterface smi, StepDataInterface sdi ) {
boolean res = false;
meta = (InfobrightLoaderMeta) smi;
data = (InfobrightLoaderData) sdi;
if ( super.init( smi, sdi ) ) {
try {
verifyDatabaseConnection();
data.databaseSetup( meta, this );View on GitHub (pinned to f3058517a1)