我遇到了一个有趣的问题。我有一个要写入数据库的小标题。当我使用以下代码时,它工作正常:
dbWriteTable(conn, "table_name", x_tbl)
但是在 tibble 中,我有一个备注栏,我想限制它的大小。就我而言,字符串最多应为 1000 个字符。为此,我执行以下操作:
x_tbl <- x_tbl %>% mutate (remark = remark %>% str_trunc(1000, side="left")
dbWriteTable(conn, "table_name", x_tbl)
当我执行该代码时,我从 SQL SERVER 收到以下错误消息:
Error in result_insert_dataframe(rs@ptr, values, batch_rows) :
nanodbc/nanodbc.cpp:1655: 22001: [Microsoft][ODBC SQL Server Driver]String data, right truncation
我使用了各种其他方法来限制字符串的长度;其中包括 str_sub()
和 strsub()
。
有没有人知道是什么导致了这种情况以及如何解决?