首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql server中未正确显示已保存的数据帧。

在sql server中未正确显示已保存的数据帧。
EN

Stack Overflow用户
提问于 2017-05-09 07:15:09
回答 1查看 244关注 0票数 1

我有一个名为distTest的数据框架,它有UTF-8格式的列。我想将distTest保存为sql database中的表。我的代码如下;

代码语言:javascript
复制
library(RODBC)
load("distTest.RData")
Sys.setlocale("LC_CTYPE", "persian")
dbhandle <- odbcDriverConnect('driver={SQL Server};server=****;database=TestDB;
                               trusted_connection=true',DBMSencoding="UTF-8" )
Encoding(distTest$regsub)<-"UTF-8"
Encoding(distTest$subgroup)<-"UTF-8"
sqlSave(dbhandle,distTest,
        tablename = "DistBars", verbose = T, rownames = FALSE, append = TRUE)

我考虑DBMSencoding作为我的连接,编码Encoding(distTest$regsub)<-"UTF-8" Encoding(distTest$subgroup)<-"UTF-8"作为我的列。但是,当我将它保存到sql中时,列没有以正确的格式显示,它们是这样的;

当我将fastsqlSave函数中设置为FALSE时,我得到了这个错误;

sqlSave中的错误(dbhandle、Distbars、tablename = "DistBars“、DistBars= T、:22001 8152 MicrosoftSQL ServerString或二进制数据)将被截断。01000 3621 MicrosoftSQL ServerThe语句已被终止。RODBC错误:无法将SQLExecDirect‘插入"DistBars“( "regsub”、"week“、"S”、"A“、"F”、"labeled_cluster“、”子组“、"windows”)值( 'cl1’、5、4、2、3、‘CL1’、‘·厄斯欧罗’、欧罗巴·奥朗德·奥朗德·奥朗德·奥朗德·奥朗德·奥朗德·奥萨罗·奥朗德·奥瑟罗·奥朗德·奥朗德·奥朗德·奥朗德·奥萨罗·奥朗德·奥朗德

我还尝试了NVARCHAR(MAX)utf-8列的设计,在表的设计中fast=false的错误消失了,但是同样的错误与格式相同。

顺便说一句,一部分数据是以RData的形式在这里中导出的。

我想知道为什么数据格式在sql server 2016中没有正确显示

更新

我完全确信,RODBC包有问题。我试着用sqlQuery(channel = dbhandle,"insert into DistBars values(N'7من',NULL,NULL,NULL,NULL,NULL,NULL,NULL)")插入表

作为一种测试,格式仍然是错误的。不幸的是,将CharSet=utf8;添加到连接字符串也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2021-03-03 15:48:59

我的代码中也有同样的问题,我设法修复了它,消除了连接配置中的rows_at_time = 1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43863462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档