我正在Unix系统上通过PDO从MSSQL服务器中提取数据。尝试了Easysoft ODBC驱动程序,该驱动程序按预期工作(但代价很高!)在我们承诺购买许可证之前,我只是尝试一下FreeTDS。
试图从设置为nvarchar(MAX)的SQL服务器中提取数据--它是一些非常奇怪的字符,而不是预期的字符。无法编辑数据库中的列类型。
例如,nvarchar(max)字段中的一个值被设置为"admin“,但结果显示为”>nvarchar“--所有其他列类型似乎都正常工作。
为了用Easysoft驱动程序修复这个问题,我必须在(http://www.easysoft.com/products/data)上将"VarMaxAsVarchar“设置为
FreeTDS内部是否有类似的设置?
作为参考,我正在连接到Microsoft 2012数据库,TDS版本设置为7.4。
以下是配置文件:
/etc/freetds.conf:
[global]
# TDS protocol version
tds version = 7.4
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
[mssql_freetds]
host = xxxxx
port = xxxx
tds version = 7.4/etc/odbc.ini
[mssql_freetds]
Driver=FreeTDS
Description=MSSQL FreeTDS
Server=xxxxx
Port=xxxx
TDS_Version = 7.4有什么想法吗?
发布于 2016-05-19 15:09:32
到目前为止,投出列似乎是最好的选择,对我的应用程序来说效果很好。
CAST(Column AS varchar(4000)) as Columnhttps://stackoverflow.com/questions/36696201
复制相似问题