У меня есть кадр данных из 260 000+ строк, которые я пытаюсь записать из R в SQL Server 2018. Один из моих столбцов содержит GUID, и я пытаюсь установить тип данных как «uniqueidentifier» в SSMS, но я могу только нажать это как varchar. Все остальные мои столбцы проходят через мой указанный тип данных.
Есть ли способ написать 'uniqueidentifier' с помощью R?
Я использую функцию dbWriteTable из пакета DBI, а также odbc.
Я попытался установить тип данных с помощью 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, значения):
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)
Заранее спасибо.