When the JDBC Producer receives a record with no columns that match the target database table, it emits a warning in the log: "No parameters found for record with <>; skipping"
The pipeline reports these skipped records as being successfully written. That is data loss. The records should instead be sent to error.
The specific repro case I found was reading from an MSSQL table with lower case column names, writing to an identical schema in Oracle with upper case column names.