在HANA中将数据从NVARCHAR移至TEXT

2020-09-01 10:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


HANA数据库中的一列是NVARCHAR,我们已经将其扩展到max,但是没有意识到我们需要用TEXT(NCLOB)字段替换它。

我知道用简单的alter table不可能做到这一点,所以我正在使用Add列,复制数据,drop列,重命名列模式来做到这一点。

尽管第二步,我遇到了问题。 我臭名昭著:SAP DBTech JDBC:[7]:不支持的功能:不支持非常量类型

搜索给了我这个 answer

所以我试图这样做:

将" DLN1"更新为" T1",设置为" U_ITCO_OGPID_A" =(从" DLN1"中选择" SELECT TO_NCLOB(" U_ITCO_OGPID")作为" U_ITCO_OGPID_A",在" T1"中将其作为" T2"。" DocEntry" =" T2"。  DocEntry" AND" T1"。" LineNum" =" T2"。" LineNum"); 

但是它会错误并显示相同的错误消息。

还有其他可以尝试的东西吗?

最好的问候

莱夫

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


HANA数据库中的一列是NVARCHAR,我们已经将其扩展到max,但是没有意识到我们需要用TEXT(NCLOB)字段替换它。

我知道用简单的alter table不可能做到这一点,所以我正在使用Add列,复制数据,drop列,重命名列模式来做到这一点。

尽管第二步,我遇到了问题。 我臭名昭著:SAP DBTech JDBC:[7]:不支持的功能:不支持非常量类型

搜索给了我这个 answer

所以我试图这样做:

将" DLN1"更新为" T1",设置为" U_ITCO_OGPID_A" =(从" DLN1"中选择" SELECT TO_NCLOB(" U_ITCO_OGPID")作为" U_ITCO_OGPID_A",在" T1"中将其作为" T2"。" DocEntry" =" T2"。  DocEntry" AND" T1"。" LineNum" =" T2"。" LineNum"); 

但是它会错误并显示相同的错误消息。

还有其他可以尝试的东西吗?

最好的问候

莱夫

付费偷看设置
发送
3条回答
me_for_i
1楼-- · 2020-09-01 11:11

嗨弗洛里安,

SAP HANA版本1.00.122.22.1543461992

//Leif

天桥码农
2楼-- · 2020-09-01 11:13

在无问题的HANA 1.0 SPS12系统上进行了此测试(没有在nvarchar列的Update语句中直接使用TO_NCLOB)。 也许您可以共享更多详细信息(列定义等)来找出区别以及为什么它不适合您。

d56caomao
3楼-- · 2020-09-01 11:16

您可以在此处找到列说明: https://pastebin.com/MpM7axT2

两个IS_NULLABLE都为True,这可能是TO_NCLOB函数出现问题吗?

我也尝试过与Coalesce一起克服这个问题,但是它仍然给我:SAP DBTech JDBC:[7]:不支持的功能:不支持非恒定表达式:__typecast __

感谢您的帮助!

//Leif

一周热门 更多>