我正尝试使用R中的RODBC包将HANA(SPS 11)中的特定模式中的表写入数据,并且存在希望有人可以提供帮助的问题。创建表单并将表单填充到HANA的问题RODBC R
我正在使用sqlSave来创建文件并使用下面的命令写入它,但得到奇怪的结果。
RES < - sqlSave(CH,dim_product_master_test,表名= table.for.save,rownames = FALSE,冗长= TRUE)
查询:CREATE TABLE MYSCHEMA “DIM_PRODUCTSX”( “ProdSrcMonth” VARCHAR(255) ,“Category”varchar(255),“SubCategory”varchar(255),“Brand”varchar(255),“Material”INTEGER,“Product”varchar(255),“EAN”varchar(255).... etc )
我收到错误:
错误SQLCOLUMNS(通道,表名): “MYSCHEMA “DIM_PRODUCTSX” ':在通道上找不到表格
但是,表正在创建,那么它似乎无法添加数据或找不到它。
我尝试了不同的引号方案(包括模式名称周围),但结果相同。 (“ProdSrcMonth”varchar(255),“Category”varchar(255),“SubCategory”varchar(255),“Brand”varchar(255),“Material(0,0) “INTEGER, ”产品“ 为varchar(255), ”EAN“ VARCHAR(255)...等
在SQLCOLUMNS(通道,表名)错误: ' ”MYSCHEMA DIM_PRODUCTSY “”。“':表中未发现通道
试图引用这两个,但没有什么区别。再次,创建表,但不能更新。
如果我只是把在sqlSave数据帧,它高兴地创建表nd添加数据,但我需要更多的控制。
此外,任何人都知道如何创建列存储表?似乎默认为行存储。
在此先感谢。
为了创建你需要指定要这在创建表的列存储表声明:CREATE COLUMN TABLE xyz ... –
是的,好点。但是,我尝试使用RODBC SQLSave和上面的SQL是它生成的,而不是我提供的。 – ingrid
谢谢@lars回答。但是,我尝试使用RODBC SQLSave和上面的SQL是它生成的,而不是我提供的。所以,猜你说我需要自己执行create语句来指定列存储。我做了预创建表,但我遇到的更大问题是SQLSave似乎无法找到创建的表来保存它。 SQLUpdate和SQLSave都给出了“在通道上找不到表”消息。我使用的表命名不起作用? – ingrid