[
https://issues.apache.org/jira/browse/NIFI-5571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matt Burgess updated NIFI-5571:
-------------------------------
Summary: PutDatabaseRecord raise error while handle byte array. (was:
org.apache.nifi.processors.standard.PutDatabaseRecord raise error while handle
byte array.)
> PutDatabaseRecord raise error while handle byte array.
> ------------------------------------------------------
>
> Key: NIFI-5571
> URL: https://issues.apache.org/jira/browse/NIFI-5571
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.7.1
> Reporter: musarona
> Priority: Major
>
> line no:656
> when record has some values,the code uses setObject for any value. that will
> raise error when the value is a Byte Array.
> {code:java}
> ps.setObject(i + 1, values[fieldIndexes.get(i)]); {code}
>
> to fix the problem ,use AvroTypeUtil.convertByteArray to convert the value to
> byte[] ,then setBytes will work OK.
>
> {code:java}
> if(field.getDataType().getFieldType() == RecordFieldType.ARRAY){
> // byte need to be converted to bytearray
> ByteBuffer byteBufferValue =
> AvroTypeUtil.convertByteArray((Object[])values[fieldIndexes.get(i)]);
> ps.setBytes(i + 1, byteBufferValue.array());
> }else {
> ps.setObject(i + 1, values[fieldIndexes.get(i)]);
> }
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)