使用freetds的和unixODBC的运行与口音查询(A,E,I,O,U)SQL Server上
我使用的Ubuntu 14.04与freetds的和的unixODBC连接到2008的Microsoft SQL Server。我测试了与tsql
和isql
的连接,并且它工作正常。在使用isql -v
如果我有口音(A,E,I,O,U)在我收到以下消息查询:使用freetds的和unixODBC的运行与口音查询(A,E,I,O,U)SQL Server上
[37000][unixODBC][FreeTDS][SQL Server]Incorrect syntax near '?'.
[ISQL]ERROR: Could not SQLExecute
在安装freetds的和unixODBC数据包我收到一条警告消息说,特殊字符会除非有额外的包裹才能被接受,但我不能接受。为了尝试解决这个问题,我卸载了freetds和unixODBC,重新安装了它们,但没有收到任何警告消息,但在查询中包含重音符时仍然收到相同的错误消息。 PS:这是我提出的第一个问题,如果它含糊不清或者不完整,我很抱歉。
经过很长一段时间,我发现的解决方案非常简单,并与tsql
和isql
合作。在unixODBC的数据源文件中,我需要设置TDS_Version=8.0
。
[MSSQL]
Driver = FreeTDS
Server = XXX.XXX.XXX.XXX
Port = XXXX
Database = name
新的文件:
前的文件
[MSSQL]
Driver = FreeTDS
Server = XXX.XXX.XXX.XXX
Port = XXXX
TDS_Version = 8.0
Database = name
未来读者注意事项:为了兼容性,FreeTDS别名TDS版本“8.0”到TDS版本7.1,但警告应避免指定“8.0”。有关详细信息,请参阅[选择TDS协议版本](http://www.freetds.org/userguide/choosingtdsprotocol.htm)中的“关于过期版本”一节。 –
是什么在这里你的关心。我想重新安装所有后开始正常工作,如果是有可能的配置问题的一些依赖。 .. –
重新安装后,在包含查询 –
的ODBC驱动程序中使用它时,我仍然收到相同的错误消息,问题是utf16使用最新版本的ODBC,至少晚于3.5。 https://www.progress.com/tutorials/odbc/unicode –