Linux下FreeTDS使用及问题总结

本人Linux版本: RHEL5.8 (32位)

源码安装包(设计开发使用Freetds建议选择源码编译、安装生成与自己系统适配的相关库文件): Freetds源码安装包地址

编码使用相关参考: Linux c使用Freetds连接SQLServer

主要说下个人使用的时候遇到的几个问题

1、连接失败

<span style="font-family:Times New Roman;font-size:14px;">错误提示:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20017 (severity 9):
        Unexpected EOF from the server
        OS error 115, "Operation now in progress"
Error 20002 (severity 9):
        Adaptive Server connection failed</span>

如果确定SQLServer数据库是开着的,网络是畅通的,而出现这个的原因建议修改Freetds版本。

键入:tsql -C

 

如上, 配置文件路径为在 /usr/local/etc/freetds.conf ,尽管你的 /etc/下面可能也有这个配置文件,但却不是默认读取的配置,改了也不生效。

修改全部配置[global]节点下:

tds version= 7.0 或者 7.1 8.0 ,总之为了提高下使用的版本

再次尝试连接:tsql -H 数据库主机IP  -U 用户名 -P 密码 -p 端口 


2、编码问题

本人是用Linux C 编程,写入数据库时发现中文乱码,个人代码用UTF-8或者GBK都编译试了下,没有效果。

一般是由于SQLServer 默认使用GBK之类的中文编码,修改配置文件,在全局配置中设置编码

client charset= GBK 

问题解决。用php编码的同学有反应说需要编码时候用iconv函数进行转码,Linux C的话自己试了下不需要这个步骤。


欢迎交流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值