从 MS Access 数据库导入的大型数据集,然后按日期对数据进行子集并导出到 SQL 数据库。
通过 sqlsave 命令导出工作正常,但是由于数据集的大小(超过 500,000 行,包含 73 个变量),它不适合。
尝试使用 odbc 写入数据会生成以下错误: nchar(as.character(x)) 中的错误:多字节字符串无效,元素 62220
通过使用谷歌和浏览 Stackoverflow,我发现这个错误通常与数据中的非标准字符有关。
在尝试将表写入 SQL 之前,我已经使用 dplyr 删除了所有非标准字符,同样的错误。
然后我使用 UTF-8 编码将文件导出到 csv 并在尝试将表写入 SQL 之前使用 UTF-8 编码将其带回来,同样的错误。
最后,我尝试了一种指定最大列长度和格式为 varchar(255)、浮点数或日期的每列结构的方法。同样的错误。
library(odbc)
library(RODBC)
library(DBI)
library(data.table)
setwd("E:/BUS_INSIGHTS/David r scripts/PUNE_Claims")
odbcCEDBS0233 <- dbConnect(odbc::odbc(), dsn = "CEDBS0233")
CEDBS0233 = odbcConnect("CEDBS0233")
PUNE <- dbConnect(drv = odbc::odbc(), .connection_string = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=E:/Motor/Data/ZC Combined/2018/1812/ZC Combined Pune.accdb")
PUNE <- subset(PUNE, DATE_OF_LOSS > as.Date("2009-01-01"))
require(dplyr)
clean <- PUNE %>% …Run Code Online (Sandbox Code Playgroud)