使用许多特殊字符将R连接到HANA db的问题
我在将HANA数据读入R时遇到问题 我已通过建立连接使用许多特殊字符将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
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"')