标签: sap-hana

这些空值如何存储在 NOT NULL 列中?

我们正在使用 SAP SLT 将 HANA 上的 SAP ECC 6.0 中的表复制到 Oracle 10g 仓库中。自开始以来,我们注意到NOT NULLHANA 中的列定义保留在表的 Oracle 副本中,但 HANA 将许多值存储为空字符串。Oracle 将空(varchar)字符串存储为NULLs 并且不知何故这与NOT NULL列定义不冲突(即我们NULL在列中定义为NOT NULL)。

查询这些表会产生奇怪的结果:

SELECT COUNT(*) FROM warehouse.table WHERE col IS NULL;
0
SELECT COUNT(*) FROM warehouse.table WHERE col = '';
0
SELECT COUNT(*) FROM warehouse.table GROUP BY NVL(col,'N');
X 503206
N 2377222
Run Code Online (Sandbox Code Playgroud)

所以我们可以通过使用或函数 NULL判断这些列中有值,但是查询它们会返回奇怪的结果。NVLDECODE

一旦我们改变了列,我们就会得到正确的结果:

ALTER TABLE warehouse.table MODIFY (col NULL);
Table altered.
SELECT COUNT(*) …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-10g sap-hana

4
推荐指数
1
解决办法
1049
查看次数

可以使用 ODBC 直接从 SAP HANA S/4 1610 中提取数据吗?

试图了解 SAP Hana S/4 1610 哪些是可能的,哪些是不可能的。

我的理解是,只需使用安装了所需 ODBC 驱动程序的 SAP HANA 客户端,就可以通过 ODBC 访问底层 SAP HANA DB。根据我所读到的内容,一旦安装,就可以使用 SSIS 等工具通过标准 ODBC 调用访问支持 SAP ERP 的大量数据存储。

但是,我被告知其他人提供的相互矛盾的信息是否可能,并且真正需要的是供应商控制该过程并让他们在 ABAP 中编写应用程序,这些应用程序将询问底层数据库并交付我们的 ETL 过程将使用的平面文件。

我们将使用本地托管的 SAP HANA 安装,因此,不在本地,但也没有阴天。

说明:我在这里只需要一个是,您可以通过 ODBC 连接到 SAP HANA S/4 1610,也可以否,您不能,并且需要另一种方法。

TBH 对如何也不感兴趣,因为我在网上阅读的其他所有内容都告诉我这一点。然而,当你每小时 100 亿美元的顾问说不时,人们不得不质疑现实。

etl odbc sap-hana

2
推荐指数
1
解决办法
2216
查看次数

标签 统计

sap-hana ×2

etl ×1

odbc ×1

oracle ×1

oracle-10g ×1