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

从R读取从SAP HANA中的过程创建的视图,r,jdbc,hana,dbconnection,rjdbc,R,Jdbc,Hana,Dbconnection,Rjdbc,我在SAP HANA中的模式名为“HYZ_ProcurementToSales”和View“V_HYZ_P25_Market_Market_Orders”,它是根据一个过程创建的,我试图在R server 1.0.153版中提取视图。我使用的代码是: library(RJDBC) conn_server <- dbConnect(jdbcDriver, "jdbc:sap:rdkom12.dhcp.pal.sap.corp:30015", "system", "manager") res

我在SAP HANA中的模式名为“HYZ_ProcurementToSales”和View“V_HYZ_P25_Market_Market_Orders”,它是根据一个过程创建的,我试图在R server 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")
我相信,在这里,可以使用其他方法代替dbGetQuery。如果我这么做,效果很好

res <- dbGetQuery(conn,"select * from Tables")

res以下内容适用于我在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;'))
最后关闭连接

dbDisconnect(conn)

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

请为该过程添加代码,以便我们能够理解读取数据的选项。@LarsBr.,我已经更新了代码,我的目标是从视图中创建数据框。@LarsBr。,使用res变量运行最后一个命令时出现的错误是“无法检索select*架构的JDBC结果集。视图名称。@LarsBr.,请建议一些可能的方法,因为我已按照您的建议更新了文章。在jusers语句中,如果视图v_currentusers属于架构,如何在视图中提及架构名称?”。我仍然收到一个错误,“找不到用于签名的函数'dbSendQuery'的继承方法”。请提供帮助。此错误与架构无关。要指定模式,您可以使用标准符号,例如从“DEVDUDE”“V_CURRENTUSERS”“中选择*”。您面临的错误似乎与安装
RJDBC
和相关软件包有关。你确定它们都正确安装了吗?我在这里非常诚实,我正在尝试这个命令,但不知道这里有什么问题,软件包正确安装在这里。事实上,我是在citrix环境下使用windows虚拟机的。嗯,这和你现在的问题不同,不是吗?你能公布当前代码和所有当前输出吗?另外,您可以验证您正在使用的R版本吗?我使用R版本3.3.1进行了测试。键入
version
并将输出包含在您的问题中。代码完全正确,如上所述,我在这里使用的是R studio server 1.0.153版。
dbClearResult(jusers)
dbDisconnect(conn)