【问题标题】:How get access to SAP sandbox via R?如何通过 R 访问 SAP 沙箱?
【发布时间】:2020-11-09 17:48:34
【问题描述】:

我在 SAP ID Service 上进行了注册,以检查他们的沙盒是如何工作的。

如何使用 R 连接到沙盒数据表?

我找到的例子:

library ("RODBC")
# 1
ch <- odbcConnect("data source name", uid = "test_hana" , pwd = "test12")
sqlQuery(ch, "SELECT * FROM '_SYS_BIC'.'BILLING_DATA'")

# 2
ch <- odbcConnect("HANA_TK", uid="xxxx", pwd="xxxx")
odbcQuery(ch, "SELECT table_name from SYS.CS_TABLES_ where schema_name = 'SFLIGHT'")
tables <- sqlGetResults(ch)

odbcClose(ch)

两者都不起作用。而且,目前还不清楚如何访问沙盒中的至少一个 SAP 表。

欢迎提出任何想法!

【问题讨论】:

  • 如果您可以连接到 HANA 数据库(当涉及到云连接器时,这非常棘手)您应该首先使用“set shema”语句,然后在 shema 中查询 HANA 而无需声明它不再:help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/…
  • 您是否有权访问运行沙盒的数据库?
  • 由于问题不包含任何错误消息,代码中唯一“明显”的问题是 SQL 语句中的对象名称在 single 引号中,但应该在 double 引号中。像这样:sqlQuery(ch, 'SELECT * FROM "_SYS_BIC"."BILLING_DATA"')

标签: r hana rodbc


【解决方案1】:

您需要在系统设置中设置 ODBC 连接到 HANA,here is howhere,然后您必须在 R 中安装并加载 RODBC 包:

> install.packages("RODBC")
> library("RODBC")

然后通过连接字符串连接到HANA:

> channel <- odbcConnect(“data source name”,uid=”test_hana”,pwd=”test12″);

并像这样提取数据:

> sqlQuery(channel, ‘SELECT * FROM “_SYS_BIC”.”BILLING_DATA” ‘)

【讨论】:

  • 感谢您的回答。但这与我在问题中提到的相同。
  • 你得到了什么确切的错误? “不起作用”什么也没说,SAP ID 是用于基于 Web 的身份验证、SAML 等的授权服务,在这里无关紧要。自 2018 年 6 月 4 日起,您可以访问 Cloud HANA directly via ODBC。详细描述您的配置,您向 RODBC 提供什么样的凭据
猜你喜欢
  • 1970-01-01
  • 2013-04-20
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
  • 2022-06-30
  • 1970-01-01
相关资源
最近更新 更多