首页 > 解决方案 > 从 R 写入 Snowflake VARIANT 列

问题描述

我正在尝试使用以下代码将数据加载到雪花中,但出现错误。

con <- DBI::dbConnect(
      drv    = odbc::odbc(), 
      driver = "SnowflakeDSIIDriver",
      server = "<>",
      authenticator = 'externalbrowser',
      warehouse = "<>",
      database = "<>",
      UID    = "<>", 
      role = "<>"
    )

DBI::dbAppendTable(con, name = DBI::Id(schema = "<>", table = "<>"), value = tmp[1:2,])

tmp 是从 Snowflake 下载的,使用 RStudio 的同一张表:

```{sql connection=con, output.var = 'tmp'}
select top 10 * 
FROM <> 
```

该错误似乎源于我存储 JSON 字符串的 VARIANT 列。

new_result(connection@ptr, statement, immediate) 中的错误:nanodbc/nanodbc.cpp:1374:22000:SQL 编译错误:表达式类型与列数据类型不匹配,需要 VARIANT 但列 FEATURES 获得 VARCHAR(2)

标签: rsnowflake-cloud-data-platform

解决方案


我曾经有过这个,它是一个无效的 JSON(某处缺少括号)。可能这会有所帮助。


推荐阅读