Код функции
аюсь запросить переменную из базы данных Microsoft SQL Server, используя R / RODBC. RODBC усекает строку символов до 8000 символов.
Исходный код: усекается до 255 символов (согласно документации RODBC)library(RODBC) con_string <- odbcConnect("DSN") query_string <- "SELECT text_var FROM table_name" dat <- sqlQuery(con_string, query_string, stringsAsFactors=FALSE)
Частичное решение: изменение текста в строке запроса после 7999 символов.library(RODBC) con_string <- odbcConnect("DSN") query_string <- "SELECT [text_var]=CAST(text_var AS VARCHAR(8000)) FROM table_name" dat <- sqlQuery(con_string, query_string, stringsAsFactors=FALSE)
Таблица / переменная содержит текстовые строки длиной до 250 000 символов. Я действительно хочу работать со всем текстом на R. Это возможно?
@BrianRipley обсуждает проблему (но не решает ее) на странице 18 следующего документа:https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf
@nutterb обсуждает похожие проблемы сRODBCext
пакет на GitHub:https://github.com/zozlak/RODBCext/issues/6
Видел подобное обсуждение SO, но нет решения с использованием RODBC с VARCHAR> 8000.
RODBC sqlQuery () возвращает varchar (255), когда он должен вернуть varchar (MAX)
Строка RODBC становится усеченной
Замечания:
R 3.3.2Microsoft SQL Server 2012Linux RHEL 7.1Драйвер Microsoft ODBC для SQL Server