当前位置: 首页 > 知识库问答 >
问题:

nifi执行SQL连接到hana在创建avro模式时失败

单于庆
2023-03-14

查看代码时,在需要为avro架构转换的未定义数据类型上引发错误。然而,我选择的唯一一列是代码中的NVARCHAR(5000)类型。

2017-04-21 01:33:51,446 WARN[Timer-Driven Process Thread-1]o. a. n. c. t. ContinuallyRunProcessorTaskjava.lang.IllegalArgumentException: createSchema: Unknown SQL type 2011无法转换为Avro type atorg.apache.nifi.processors.standard.util.JdbcCommon.createSchema(JdbcCommon.java:349)~[na: na]atorg.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:92)~[na: na]atorg.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:87)~[na: na]atorg.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:77)~[na: na]atorg.apache.nifi.processors.standard.ExcuteSQL$2.process(ExecteL. SQjava: 205)~[na: na]atorg.apache.nifi.controller.repository.Standard ardProcessSession.write(Standard ardProcessSession.java:2329)~[nifi-framework-core-1.1.2.jar: 1.1.2]atorg.apache.nifi.processors.standard.ExecteSQL. onTrigger(ExecteSQL. java: 199)~执行者$RunnableAdapter. call(Executors. java: 511)[na: 1.8.0_102]在java. util. concurrent. FutureTask. runAndReset(FutureTask. java: 308)[na: 1.8.0_102]在java. util. concurrent. schduledThreadPoolExector$schduledFutureTask. access 301美元(SchduledThreadPoolExecutor. java: 180)[na: 1.8.0_102]在java. util. concurrent. schduledThreadPoolExecitor$SchduledFutureTask. run(SchduledThreadPoolExecutor. java: 294)[na: 1.8.0_102]在java. util. concurrent. ThreadPoolExecutor. runWorker(ThreadPoolExecutor. java: 1142)[na: 1.8.0_102]在java. util. concurrent. ThreadPoolExecutor$

共有1个答案

唐海阳
2023-03-14

在JDK8的JDBC API中,NCLOB是2011,NVARCHAR是-9:

public static final int NCLOB = 2011;
public static final int NVARCHAR = -9;

看起来你正在使用的驱动程序正在返回2011年的专栏,尽管你认为该专栏是NVARCHAR。我不完全确定,但这似乎是hana司机的错误行为。

通过在JdbcCommon中的case语句中添加NCLOB,可能可以在NiFi方面处理这个问题:

 case CHAR:
 case LONGNVARCHAR:
 case LONGVARCHAR:
 case NCHAR:
 case NVARCHAR:
 case VARCHAR:
 case CLOB:
 类似资料:
  • 我是nifi的新手,我想将SQL server数据库连接到nifi,并用处理器创建数据流。我怎样才能做到这一点,有没有人能帮我弄清楚这一点。 事先谢谢山姆

  • 我将JSON文件&JSON模式解析为AVRO模式。我有点困惑,我是否必须使用AVRO文档中定义的数据类型来编写手动AVRO模式。 或者是否有任何自动化的方法/函数/程序可以完全按照要求工作?

  • 我在针对SAP HANA数据库的VDI上运行liquibase脚本。然后,VDI挂了,所以我就杀了VDI。当再次打开VDI并尝试启动运行相同liquibase脚本的相同应用程序时,我得到以下错误:初始化到HANA的连接...

  • 很好的一天! 我正在从glassfish迁移到JBoss 7.1.3。我有。无法创建远程连接的ear应用程序。我猜我的EJB有问题。 下面是我部署的EJB(来自服务器日志) 下面是我在资源调配器中的上下文查找。java代码 下面我已经粘贴了我的服务器。日志和我的应用程序日志供您参考。我遇到错误,比如无法创建远程连接。我在加载包含上述属性的初始上下文时遇到问题。。。ctx=新的初始上下文(jndiP

  • 我正在尝试在CentOS系统上运行Apache NiFi。我下载了它并使用以下命令运行它: 结果如下: 然后,我用命令检查Apache NiFi的状态: 结果是: 但最后当我尝试访问http://localhost:8090/nifi或http://localhost:8080/nifi在我的浏览器上显示:无法连接。(我将http端口更改为8090以避免冲突,但仍然存在相同的问题)。请帮帮我,有什

  • 当我执行这个程序时,一切都很好: