【问题标题】:SQL Server R Services error invalid input in 'utf8towcs'SQL Server R Services 错误“utf8towcs”中的输入无效
【发布时间】:2018-01-19 20:46:03
【问题描述】:

尝试通过sp_execute_external_script 使用 Microsoft SQL Server R Services 在数据库中运行 R 过程,但即使我将 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 技巧在数据框创建期间重新编码字符数据,因为转换对InputDataSet 数据帧的@input_data_1 查询结果发生在过程控制之外。

【问题讨论】:

    标签: sql-server r microsoft-r


    【解决方案1】:

    在将字符串数据传递给 R 之前将其转换为 unicode。您可以通过在输入查询中将 varchar 列转换为 nvarchar 来匹配输入到数据帧转换的预期编码。

    SELECT CAST(ColA AS nvarchar(255)) FROM TableA
    

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 2018-05-03
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多