点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在HANA 2.0(SP04)上,我想添加在远程源DB表(另一个HANA DB 1.x,未知SP版本)上创建的虚拟表:
在" HANA_QAS"上创建虚拟表" MYUSER"。" BKPF_TEST"(" MANDT" NVARCHAR(3)NOT NULL)。" BKPF"
我收到错误消息(HANA Studio 2019-12):
- 无法在358 ms 68 µs内在" HANA_DEV"。" BKPF"执行"创建虚拟表" MYUSER"。" BKPF_TEST"(" MANDT" NVARCHAR(2)NOT NULL)。
- SAP DBTech JDBC:[333]:不允许的列
当我尝试在不指定列的情况下创建它时:
在" HANA_DEV"上创建虚拟表" MYUSER"。" BKPF_TEST"。" BKPF"
我遇到另一个错误:
- 在180毫秒397 µs内无法执行"创建虚拟表" CPS"。" BKPF_TEST"在" HANA_DEV"。" BKPF""。
- SAP DBTech JDBC:[403]:内部错误:无法创建虚拟表:sql语法错误:" ..."附近的语法不正确:第1列col 4036(在pos 4036处)
我可以添加表格的唯一方式是在HANA Studio中"单击"。 目录-> MYUSER模式->表->新的虚拟表...浏览远程对象并选择具体表。
由于我需要创建数十个VT(并且在每个新创建的DEV/QAS/PRO系统上),因此我寻求一些基于SQL脚本的可行解决方案。 也许问题是HANA DB的版本不同...?
感谢任何提示!
您的第一次尝试:仅当您要在远程系统上创建表时,才可以定义列。
您的第二次尝试:您仅使用架构和表名来定义远程对象, 但是远程源名称和数据库名称也是必需的。 例如
请检查文档。
感谢您的回复! 含税 还有您的暗示,我认识到在较旧的系统上生成的脚本无法在较新版本的HANA DB上运行,或者导出虚拟表根本无法正常工作。
我在HANA 1.0(含)上导出了架构结构(无数据)。 VT,并尝试在HANA 2.0上导入。 在导出时会生成用于创建具有显式列定义的VT的SQL命令,但不能用于导入目的。 同样,远程对象的规范在导出时效果不佳,因为生成了以下脚本:
但是,远程源对象的唯一有效定义是:
因此,导出命令没有"绑定"到远程源表名称,它在本地以后缀" _LOCAL"生成" VIRTUAL_TABLE_NAME",类似于模式名称-它不使用远程名称,而是从本地使用。 以此知识,我可以编辑在导出时生成的SQL命令。 他们现在正在完全致力于导入。
一周热门 更多>