Java Nifi-1.0.0和Crate.IO

Java Nifi-1.0.0和Crate.IO,java,jdbc,apache-nifi,Java,Jdbc,Apache Nifi,板条箱数据库提供了一个jdbc驱动程序,通过它我应该能够使用DBCPConnectionPool控制器服务从Nifi连接到板条箱。所以我这样做了,我得到了一个连接,ConvertJSONToSQL处理器能够从板条箱数据库中获取列,但是当我到达PUTSql处理器时,我得到了以下错误: FlowFileHandlingException: transfer relationship not specified 问题是我定义了成功、失败、重试关系。它只是在OnTigger()方法中抛出一个Proce

板条箱数据库提供了一个jdbc驱动程序,通过它我应该能够使用DBCPConnectionPool控制器服务从Nifi连接到板条箱。所以我这样做了,我得到了一个连接,ConvertJSONToSQL处理器能够从板条箱数据库中获取列,但是当我到达PUTSql处理器时,我得到了以下错误:

FlowFileHandlingException: transfer relationship not specified
问题是我定义了成功、失败、重试关系。它只是在OnTigger()方法中抛出一个ProcessException

有什么办法可以让它工作吗?
只要jdbc驱动程序兼容,它就会工作,但是

我认为这是PutSQL中的一个bug,它在JDBC配置、SQL语句或其他方面隐藏了一个问题。使用带有有效SQL INSERT语句的独立JDBC驱动程序,我能够将SQL与CLATE一起使用


您能再次检查您的连接信息和SQL语句吗?此外,如果您可以复制并希望共享SQL和/或连接信息(例如JDBC URL),请放心,这可能有助于找到隐藏另一个问题的PutSQL错误的根源。

FlowFileHandlingException指出编程错误。你能在异常附近发布剩余的堆栈跟踪和与PutSQL相关的任何其他日志吗?它是NiFi的标准处理器,PutSQL,当我将它与postgresql的jdbc驱动程序一起使用时,它工作得很好。我收到一条警告:由于处理失败,处理器管理性地屈服了1秒。还有我指定的错误。是的,我知道这是一个标准处理器,似乎有一个逻辑路径泄漏了一个流文件,而没有给出传输关系。因此,没有日志消息表明之前出现了问题?您使用的是什么版本的NiFi?因此,完整的错误消息是:
PutSQL[id=…]由于org.apache.NiFi.processor.exception.FlowFileHandling未能处理会话:StandardFlowFileRecord[uuid=…,claim=StandardContentClaim[resourceClaim=StandardResourceClaim][id=…,container=default,section=325],offset=1010666,length=395],offset=0,name=file\u name.txt.avro,size=395]未指定传输关系
连接信息
数据库连接Url:jdbc:crate://10.5.5.2:4300/schema_name 数据库驱动程序类名:io.crate.client.jdbc.CrateDriver数据库驱动器位置: file:///path/to/nifi/lib/crate-jdbc-standalone-1.13.1.jar
SQL语句:
插入schema_name.my_表(transdate、transtype、salestype、account、custname、custadd1、custcity、custstate、custzip、custcountry、custemail、custphone、accessusername、accesspassword、currencyid、ma)值(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
我看到16个列名,但有18个参数。因此,您可能已将板条箱JDBC JAR放入NiFi的lib/文件夹中,这是不鼓励的,因为它可能会弄乱NiFi的其余部分。最好将其放在文件系统的其他位置,并指向数据库连接池中。我在编辑sql语句时出错。我已在中验证过流文件和列数与参数数一致。我将尝试将jar移动到lib/目录之外的其他文件夹中。我已将crate jdbc驱动程序放在另一个目录中,并授予了它权限,但我也有相同的问题。