我有一个要从R写入SQL Server 2018的260,000行以上的数据帧。我的一列包含GUID,我试图在SSMS中将数据类型设置为“ uniqueidentifier”,但我只能将通过varchar。我所有其他列均以我指定的数据类型进行浏览。
是否可以用R编写“ uniqueidentifier”?
我正在使用DBI包以及odbc中的dbWriteTable函数。
我试图通过使用field.types;设置数据类型;
library('odbc')
library('DBI')
dbWriteTable(conn, Id(schema = schema, table = "SAP_Event"),
Event, field.types = c(GUID = "uniqueidentifier",
`Work Order Event` = "varchar(max)",
`Start Date` = "int",
`End Date` = "int",
`Campaign Tier` = "varchar(max)",
`Multiple Group Event` = "varchar(max)",
`Default Revision` = "varchar(max)",
`WO Event Description` = "varchar(max)",
DateTimeAdded = "datetime",
DateTimeEnd = "datetime"), append = TRUE, row.names = FALSE)
返回,
result_insert_dataframe(rs @ ptr,values)中的错误: nanodbc / nanodbc.cpp:1791:07006:[Microsoft] [ODBC SQL Server驱动程序]限制的数据类型属性违反
我尝试省略field.types参数,该参数会产生相同的错误消息。例子
dbWriteTable(conn, Id(schema = schema, table = "SAP_Event"), Event, append = TRUE, row.names = FALSE)
Setting overwrite = TRUE will write to SSMS but my GUID column becomes varchar.
dbWriteTable(conn, Id(schema = schema, table = "SAP_Event"), Event, overwrite = TRUE, row.names = FALSE)
谢谢。