Я использую пакет DBI вместе с пакетом odbc для подключения к базе данных SQL Server. Я пытаюсь написать таблицу с типами столбцов, указанными аргументом field.types
. По какой-то причине это не работает, и R выбирает свои собственные типы данных при записи.
Воспроизводимый пример:
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)"
)
)
Результат: таблица с именем "tableName" со столбцами
[col1] [int] NULL,
[col2] [varchar](255) NULL
Мои вопросы:
Как я могу исправить мой пример выше, чтобы типы столбцов в базе данных были
varchar(50)
для обоих столбцов?Как я могу правильно использовать аргумент
field.types
для других примеров?
Я хотел бы знать, какие «типы» я должен использовать: мне нужно «int», «целое число» или «INT» (R чувствителен к регистру, поэтому это может иметь значение)? И потом, где я могу найти список этих типов данных? Я пробовал использовать dbDataType, но использование типов, возвращаемых этой функцией, тоже не работает. Или я делаю что-то еще не так?
Заранее благодарю за любую помощь.