RODBC字符串被截断

say*_*pta 6 mysql r rodbc

我使用RODBC从MySql Server获取数据到R中.
所以在数据库的一列中是一个字符向量

SELECT MAX(CHAR_LENGTH(column)) FROM reqtable;
Run Code Online (Sandbox Code Playgroud)

退货26566

现在我将向您展示我如何遇到问题

`library(RODBC)
 con <- odbcConnect("mysqlcon")
 rslts <- as.numeric(sqlQuery(con,
                          "SELECT CHAR_LENGTH(column) FROM reqtable LIMIT 10",
                          as.is=TRUE)[,1])
Run Code Online (Sandbox Code Playgroud)

`回归

> rslts
 [1]  62  31  17 103  30 741  28  73  25 357
Run Code Online (Sandbox Code Playgroud)

其中,作为 rslts <- nchar(as.character(sqlQuery(con, "SELECT column FROM reqtable LIMIT 10", as.is=TRUE)[,1])) 回报

> rslts
 [1]  62  31  17 103  30 255  28  73  25 255
Run Code Online (Sandbox Code Playgroud)

所以长度> 255的字符串会被截断为255.有没有办法可以得到完整的字符串.

谢谢

MiG*_*G62 6

PostgreSQL ODBC驱动程序有一个名为MaxLongVarcharSize的变量,我发现默认设置为8190(我在Windows和Ubuntu上都使用过它).MySQL ODBC驱动程序有可能将类似的变量设置为255.

  • 在Windows上,选择数据源(在"控制面板"|"管理工具"|"ODBC源"中),然后单击"配置",然后选择显示数据源的按钮.MaxLongVarCharSize变量就在那里.在Ubuntu上,将MaxLongVarcharSize = 256000(或其他)行添加到文件/etc/odbc.ini中的相关数据源. (2认同)