sql-server – RODBC中的varType用法
发布时间:2020-12-12 07:01:42 所属栏目:MsSql教程 来源:网络整理
导读:我通过RODBC包从ODBC写入SQL Server表,特别是函数sqlSave.对于此函数,似乎默认的var类型是charvar(255).我试图使用文档中列出的varTypes参数,但它失败了. 这是一个名为spikes20的表,具有Class结构,这反过来又是我试图通过sqlSave保存的 sapply(spikes20,class
我通过RODBC包从ODBC写入SQL Server表,特别是函数sqlSave.对于此函数,似乎默认的var类型是charvar(255).我试图使用文档中列出的varTypes参数,但它失败了.
这是一个名为spikes20的表,具有Class结构,这反过来又是我试图通过sqlSave保存的 sapply(spikes20,class) Date Day EWW PBR BAC CHTP FB SPY "Date" "factor" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" 以下是尝试写入SQL Server的代码 require(RODBC) varTypes = c(as.Date="Date") channel <-odbcConnect("OptionsAnalytics",uid="me",pwd="you") sqlSave (channel,spikes20,tablename = NULL,append=TRUE,rownames = FALSE,colnames = TRUE,safer = FALSE,addPK = FALSE,varTypes=varTypes ) 我得到的错误消息说: 警告信息: 在sqlSave中(channel,append = TRUE,: 我试图将varType更改为: varTypes=c(Date="Date") 然后错误消息变为: Error in sqlSave(channel,: [RODBC] Failed exec in Update 22007 241 [Microsoft][ODBC SQL Server Driver][SQL Server]Conversion failed when converting date and/or time from character string. 任何帮助将不胜感激.似乎我无法破译正确使用varTypes … 解决方法首先,你真的想附加到名为NULL的表吗?至于varTypes的问题,根据我的经验,我必须为数据框中的所有变量提供映射,即使varTypes argurment的文档说: “一个可选的命名字符向量,用于提供DBMS数据类型 您需要确保varTypes向量的名称是列名称,值是推荐的数据类型here.因此,按照他们的示例,您将拥有: tmp <- sqlColumns(channel,correctTableName) varTypes = as.character(tmp$TYPE_NAME) names(varTypes) = as.character(tmp$COLUMN_NAME) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容