1
我使用DBI包和odbc包连接到SQL Server数据库。我正在尝试编写一个表格,其中列出了field.types
参数指定的列类型。出于某种原因,这不起作用,R在编写时选择自己的数据类型。从SQL Server数据库的R DBI包中使用dbWriteTable时,Field.types不起作用
重复的例子:
table <- data.frame(
col1 = 1:2,
col2 = c("a", "b")
)
con <- dbConnect(
odbc::odbc(),
dsn = "dsn",
UID = login,
PWD = password,
Port = 1433
)
dbWriteTable(
conn = con,
value = table,
name = "tableName",
row.names = FALSE,
field.types = c(
col1 = "varchar(50)",
col2 = "varchar(50)"
)
)
结果:
我怎样才能更正我上面的例子:一个名为 “表名” 的列
[col1] [int] NULL, [col2] [varchar](255) NULL
我问表,这样两列的数据库上的列类型将为
varchar(50)
?如何正确使用其他示例的
field.types
参数?
我想知道的是,什么是“类型”我应该用:我需要“内部”或“整数”或“INT”(R是大小写敏感的,所以可能重要)?然后,我在哪里可以找到这些数据类型的列表?我曾尝试使用dbDataType,但使用此函数返回的类型也不起作用。还是我在做其他事情?
在此先感谢您的帮助。
你说得对。我重试了这个,现在它可以工作。很奇怪。我不确定这里发生了什么,但我很高兴它现在可以工作。谢谢! – Willem