Ошибка SQL Server R Services неверный ввод в utf8towcs
Попытка запустить процедуру R в базе данных с помощью Microsoft SQL Server R Services через sp_execute_external_script
, но я получаю эту ошибку, даже если я уменьшаю свой R-скрипт, чтобы он ничего не делал, но возвращал пустой фрейм данных.
A 'R' script error occurred during execution of ''
Msg 39019, Level 16, State 1, Line 2
An external script error occurred:
Error in sort.list(y) : invalid input 'BiototÆs spots' in 'utf8towcs'
Calls: as.data.frame ... as.data.frame -> as.data.frame.character -> factor -> sort.list
Error in ScaleR. Check the output for more information.
Error in eval(expr, envir, enclos) :
Error in ScaleR. Check the output for more information.
Calls: source -> withVisible -> eval -> eval -> .Call
Execution halted
Ошибка появляется, когда специальные символы включены в результаты запроса ввода в столбце типа varchar
, но я не могу использовать типичные трюки R для перекодирования символьных данных во время создания фрейма данных, потому что преобразование @input_data_1
результат запроса к InputDataSet
Кадр данных происходит вне контроля процедуры.
1 ответ
Преобразуйте строковые данные в Unicode, прежде чем они будут переданы в R. Вы можете сделать это, приведя varchar
столбцы как nvarchar
во входном запросе, чтобы соответствовать ожидаемой кодировке для ввода в преобразование фрейма данных.
SELECT CAST(ColA AS nvarchar(255)) FROM TableA