ROracle dbWriteTable为R DATE列创建Oracle TIMESTAMP列 [英] ROracle dbWriteTable creating Oracle TIMESTAMP columns for R DATE columns

查看:121
本文介绍了ROracle dbWriteTable为R DATE列创建Oracle TIMESTAMP列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Windows 7 64位上的64位R3.0.0中的ROracle软件包(1.1-10)将一些数据上传到Oracle 11g数据库.

I'm trying to upload some data to my Oracle 11g database using the ROracle package (1.1-10) in 64bit R3.0.0 on Windows 7 64-bit.

dbWriteTable的ROracle帮助状态:

The ROracle help for dbWriteTable states:

日期和POSIXct映射到Oracle DATE ROracle-ROracle软件包R- R应用程序POSIXct-POSIXct类TIMESTAMP TIMESTAMP WITH 带有本地时区的时区时间戳

Date and POSIXct map to Oracle DATE ROracle - the ROracle package R - the R application POSIXct - the POSIXct class TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE

但是,当我运行此R代码时...

Yet when I run this R code...

df <- data.frame(a = as.Date(c("2012-01-01","2013-02-07")), b = c("one","two"))

drv <- dbDriver("Oracle")
myconn <- dbConnect(drv, "XXXXX", "XXXXX", "XXXXX")

dbWriteTable(myconn, "MY_TABLE", overwrite = TRUE)

它会像这样在Oracle中生成一个表...

It produces a table in Oracle like so...

有人知道会给什么吗?我在阅读帮助文档时错了吗?

Anyone know what gives? Am I reading the help docs wrong?

我编写了一个函数,可以使用alter table语法将其转换为Oracle中的DATE,但是我宁可不必...

I've written a function that converts those to DATE in Oracle using the alter table syntax, but I'd much rather not have to...

推荐答案

与软件包维护者交谈后,这看起来像是个错误,他们希望在下一版本(版本为1.1-11)中对其进行修复.

After speaking with the package maintainer, this looks like a bug, and they're hoping to fix it in the next release (which will be 1.1-11)

这篇关于ROracle dbWriteTable为R DATE列创建Oracle TIMESTAMP列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆