{"record":{"id":"c1f6ea2267902933","repo":"pentaho/pentaho-kettle","slug":"ingresvectorwiseloadermeta-getsql-noconnectiondefined","errorCode":"IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined","errorMessage":"IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined","messagePattern":"IngresVectorwiseLoaderMeta\\.GetSQL\\.NoConnectionDefined","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/ivw-bulk-loader/impl/src/main/java/org/pentaho/di/trans/steps/ivwloader/IngresVectorwiseLoader.java","lineNumber":616,"sourceCode":"      if ( data.byteBuffer.remaining() > content.length ) {\n        // Yes, there is room: add content to buffer\n        //\n        data.byteBuffer.put( content );\n      } else {\n        // No: empty the buffer to disk\n        //\n        data.byteBuffer.flip();\n        data.fileChannel.write( data.byteBuffer );\n        data.byteBuffer.clear();\n        data.byteBuffer.put( content );\n      }\n    }\n  }\n\n  protected void verifyDatabaseConnection() throws KettleException {\n    // Confirming Database Connection is defined.\n    if ( meta.getDatabaseMeta() == null ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"IngresVectorwiseLoaderMeta.GetSQL.NoConnectionDefined\" ) );\n    }\n  }\n\n  public boolean init( StepMetaInterface smi, StepDataInterface sdi ) {\n    meta = (IngresVectorwiseLoaderMeta) smi;\n    data = (IngresVectorwiseLoaderData) sdi;\n\n    if ( super.init( smi, sdi ) ) {\n\n      // Confirming Database Connection is defined.\n      try {\n        verifyDatabaseConnection();\n      } catch ( KettleException ex ) {\n        logError( ex.getMessage() );\n        return false;\n      }\n\n      if ( Utils.isEmpty( meta.getDelimiter() ) ) {","sourceCodeStart":598,"sourceCodeEnd":634,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/ivw-bulk-loader/impl/src/main/java/org/pentaho/di/trans/steps/ivwloader/IngresVectorwiseLoader.java#L598-L634","documentation":"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.","triggerScenarios":"init() -> verifyDatabaseConnection() finds meta.getDatabaseMeta() == null, i.e. the step's 'Connection' field was never set or the referenced connection was deleted.","commonSituations":"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.","solutions":["Open the Ingres VectorWise Loader step dialog and select a database connection.","If the connection was deleted, recreate it and re-select it in the step.","For programmatic use, call meta.setDatabaseMeta(new DatabaseMeta(...)) before initializing the step."],"exampleFix":"// before: step initialized without a connection\nIngresVectorwiseLoaderMeta meta = new IngresVectorwiseLoaderMeta();\n// after: define the connection first\nIngresVectorwiseLoaderMeta meta = new IngresVectorwiseLoaderMeta();\nmeta.setDatabaseMeta(new DatabaseMeta(\"ingres\", \"INGRES\", \"Native\", host, db, port, user, pass));","handlingStrategy":"validation","validationCode":"if (meta.getDatabaseMeta() == null) { throw new IllegalStateException(\"Select a database connection on the Ingres VectorWise Loader step before running\"); }","typeGuard":null,"tryCatchPattern":"try { trans.execute(...); } catch (KettleException e) { if (e.getMessage().contains(\"NoConnectionDefined\")) { /* prompt user to configure connection */ } }","preventionTips":["Always assign a connection in the step dialog before saving the transformation.","When building steps programmatically, set databaseMeta before init.","Avoid deleting shared DB connections still referenced by steps."],"tags":["database","configuration","missing-connection"],"backgroundTag":"missing-required-config-field","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}