使用许多特殊字符将R连接到HANA db的问题

使用许多特殊字符将R连接到HANA db的问题,r,odbc,hana,R,Odbc,Hana,我在将HANA数据读入R时遇到问题 我已通过建立连接 ch <- odbcConnect("HANA",uid="USER",pwd="PW") 这就拉了我的桌子列表 在我试图拉取的所需表上进行筛选,结果显示全名为“ccf edw.self-service.MDM::Q_CA_R_CUSTOMER_REPORTS” 从我所看到的其他帖子中,似乎有一些围绕这一时期的问题 企图 sqlQuery(ch, 'SELECT TOP 10 FROM "_SYS_BIC"."ccf-edw"."se

我在将HANA数据读入R时遇到问题

我已通过建立连接

ch <- odbcConnect("HANA",uid="USER",pwd="PW")
这就拉了我的桌子列表

在我试图拉取的所需表上进行筛选,结果显示全名为“ccf edw.self-service.MDM::Q_CA_R_CUSTOMER_REPORTS”

从我所看到的其他帖子中,似乎有一些围绕这一时期的问题

企图

sqlQuery(ch, 'SELECT TOP 10 FROM "_SYS_BIC"."ccf-edw"."self-service"."MDM::Q_CA_R_CUSTOMER_REPORTS"')
返回错误

[1] "42000 257 [SAP AG][LIBODBCHDB DLL][HDBODBC] Syntax error or access violation;257 sql syntax error: incorrect syntax near \"FROM\": line 1 col 15 (at pos 15)"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'SELECT TOP 10 FROM \"_SYS_BIC\".\"ccf-edw\".\"self-service\".\"MDM::Q_CA_R_CUSTOMER_REPORTS\"'" 

我不确定在哪里加上双引号。

你能试试这个吗:

sqlQuery(ch, 'SELECT TOP 10 FROM "_SYS_BIC"."ccf-edw.self-service.MDM::Q_CA_R_CUSTOMER_REPORTS"')

这是可行的,但将“:”替换为“/”。它只处理sqlQuery,而不是sqlFetch,这可能是什么原因造成的?Fetch在odbcTableExists(通道,sqtable)中给出错误
错误:“从”\u SYS\u BIC中选择*”。“ccf edw.self-service.MDM/Q_CA_R_CUSTOMER_REPORTS”:频道上找不到表
根据R文档,sqlQuery可用于从查询中获取数据,而sqlFetch仅适用于表名,不适用于SQL查询。请参阅:我还建议您从TABLES视图中为您的模式获取表名。这将为您提供专有名称。使用sqlTables是我获得原始表名的地方,其中有两个冒号,不确定MDM和Q_CA_R之间有斜杠的表名在哪里。这些名称通常来自SAP HANA计算视图。
sqlQuery(ch, 'SELECT TOP 10 FROM "_SYS_BIC"."ccf-edw.self-service.MDM::Q_CA_R_CUSTOMER_REPORTS"')