- В настоящее время работает с профессиональными драйверами Rstudio
Я также установил для всех varchar значение max в таблице Sqlserver, но это не помогло.
diag_test <- diag[1:1025]
system.time({
DBI::dbWriteTable(con, "urban_prodbi_diag", diag_test, append = TRUE)
})
Error in result_insert_dataframe(rs@ptr, values) :
nanodbc/nanodbc.cpp:1587: HY000: The incoming tabular data stream (TDS)
remote procedure call (RPC) protocol stream is incorrect. Parameter 5
(""): The supplied length is not valid for data type nvarchar(max).
Check the source data for invalid lengths. An example of an invalid
length is data of nchar type with an odd length in bytes., Timing
stopped at: 0.049 0.002 0.135
Хотя работает с меньшим количеством строк.
Несколько примеров подмножеств:
diag_test <- diagcopy[1:1024]
system.time({
DBI::dbWriteTable(con, "urban_prodbi_diag", diag_test, append = TRUE)
})
user system elapsed
0.042 0.000 0.109
diag_test <- diagcopy[1000:1025]
system.time({
odbc::dbWriteTable(con, "urban_prodbi_diag", diag_test, append = TRUE)
})
user system elapsed
0.014 0.000 0.074
Вставка не выдает никакой ошибки через пакет RODBC в той же схеме таблицы и в фрейме данных.