从 R 读取从 SAP HANA 中的过程创建的视图

问题描述 投票:0回答:1

我在 SAP HANA 中有一个名为 “HYZ_ProcurementToSales” 的架构和视图 “V_HYZ_P25_Market_Market_Orders”,它是从过程创建的,我正在尝试提取 R 服务器版本 1.0.153 中的视图。我使用的代码是:

library(RJDBC)
conn_server <- dbConnect(jdbcDriver,
"jdbc:sap:rdkom12.dhcp.pal.sap.corp:30015", "system",
"manager")
res <- dbGetQuery(conn,"select * from 
HYZ_ProcurementToSales.V_HYZ_P25_Market_Market_Orders")

我得到的错误是这样的:

"Unable to retrieve JDBC result set for 
select * from HYZ_ProcurementToSales.V_HYZ_P25_Market_Market_Orders".

我相信除了 dbGetQuery 之外还有其他东西可以解决这个问题。如果我简单地这样做就可以了

res <- dbGetQuery(conn,"select * from Tables")
r jdbc hana r-dbi rjdbc
1个回答
1
投票

以下内容适用于我在 HANA 1 SPS12 上的工作,其过程公开了一个名为

V_CURRENTUSERS
的视图:

library(RJDBC)
drv <- JDBC("com.sap.db.jdbc.Driver",
            "C:\\Program Files\\SAP\\hdbclient\\ngdbc.jar",
            identifier.quote='"')
conn <- dbConnect(drv, "jdbc:sap://<hanaserver>:3<instance>15/?", "**username**", "*pw*")

jusers <- dbFetch(dbSendQuery(conn = conn, statement = 'select * from v_currentusers;'))

此时,整个结果集就绑定到了

jusers
。 完成后,您应该再次发布结果集:

dbClearResult(jusers)

最后关闭连接

dbDisconnect(conn)

请注意,带有结果视图的过程已被弃用,不应再使用/开发。相反,请使用表函数,因为这些函数也可以在信息视图中重用,并允许动态参数分配。

© www.soinside.com 2019 - 2024. All rights reserved.