{"record":{"id":"2714706d7277fa11","repo":"pentaho/pentaho-kettle","slug":"luciddbstreamingloadermeta-exception-errorgettingfields","errorCode":null,"errorMessage":"LucidDBStreamingLoaderMeta.Exception.ErrorGettingFields","messagePattern":"LucidDBStreamingLoaderMeta\\.Exception\\.ErrorGettingFields","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoaderMeta.java","lineNumber":846,"sourceCode":"      try {\n        db.connect();\n\n        if ( !Utils.isEmpty( realTableName ) ) {\n          String schemaTable = databaseMeta.getQuotedSchemaTableCombination( realSchemaName, realTableName );\n\n          // Check if this table exists...\n          if ( db.checkTableExists( schemaTable ) ) {\n            return db.getTableFields( schemaTable );\n          } else {\n            throw new KettleException( BaseMessages.getString(\n              PKG, \"LucidDBStreamingLoaderMeta.Exception.TableNotFound\" ) );\n          }\n        } else {\n          throw new KettleException( BaseMessages.getString(\n            PKG, \"LucidDBStreamingLoaderMeta.Exception.TableNotSpecified\" ) );\n        }\n      } catch ( Exception e ) {\n        throw new KettleException( BaseMessages.getString(\n          PKG, \"LucidDBStreamingLoaderMeta.Exception.ErrorGettingFields\" ), e );\n      } finally {\n        db.close();\n      }\n    } else {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"LucidDBStreamingLoaderMeta.Exception.ConnectionNotDefined\" ) );\n    }\n\n  }\n\n  /**\n   * @return the schemaName\n   */\n  public String getSchemaName() {\n    return schemaName;\n  }\n","sourceCodeStart":828,"sourceCodeEnd":864,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoaderMeta.java#L828-L864","documentation":"The table-field lookup wraps its whole body in try/catch: any exception while connecting to the database, checking table existence, or reading table metadata (db.getTableFields) is rethrown as KettleException with the localized 'ErrorGettingFields' message, with the original exception as cause.","triggerScenarios":"During getFields/SQL generation, the code enters the block where databaseMeta != null and any JDBC error occurs — connection failure, bad credentials, SQL error from checkTableExists/getTableFields — and is wrapped by this message.","commonSituations":"LucidDB driver missing from the classpath; wrong host/port or database down; invalid credentials; network/firewall blocking the JDBC connection while Spoon validates the step.","solutions":["Inspect the nested cause exception for the real JDBC error (connection refused, auth failed, driver missing).","Test the database connection in Spoon's connection dialog; fix host/port/credentials.","Ensure the LucidDB JDBC driver jar is on the classpath (libext / plugins dir).","Verify network connectivity (ping/telnet to the DB host:port)."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"try (Database db = new Database(log, meta.getDatabaseMeta())) {\n  db.connect(); // fails fast with the real JDBC error\n}","typeGuard":null,"tryCatchPattern":"try {\n  meta.getFields(...);\n} catch (KettleException e) {\n  logError(\"Error getting fields: \" + e.getCause().getMessage(), e.getCause());\n  throw e;\n}","preventionTips":["Test the DB connection in the connection dialog before configuring the step.","Place the LucidDB JDBC driver jar in the correct lib/plugin directory.","Check network/firewall access to the DB host from the Pentaho server.","Rotate/verify credentials after environment changes."],"tags":["kettle","database","jdbc","connection"],"backgroundTag":"database-query-failed","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"}