Lunix平台Sybase数据库操作指南
步骤:
- 安装FreeTDS
- 安装UnixODBC
- 安装pyodbc及测试使用
- 后台运行及添加启动项
- 安装FreeTDS
./configure --prefix=/usr/local/freetds --with-unixodbc
sudo make
sudo make install #使用sudo,否则可能出现依赖库不存在错误
配置ini文件
cd /usr/local/etc
vi freetds.conf
[Sybase]
host = 10.121.48.40
port = 5000
tds version = 5.0
client charset = cp936
使用tsql进行测试
- 安装UnixODBC
cd /usr/local/etc
配置2个ini文件
/odbcinst.ini
[sybase]
Description=Sybase
Driver=/usr/local/lib/libtdsodbc.so
UsageCount=1
/odbc.ini
[testSybase]
Driver=sybase #odbcinst.ini 中[]名称
Description=testSybase #DSN,后期pyodbc中使用
trace=No
Servername=Sybase #freetds.conf中配置的服务器名称
Database=tzabc
使用isql进行测试
若报so文件不存在,但是实际存在,可以重新加载系统conf文件
另外网上的ini中setup配置项在unixodbc后期版本中已经移除
pip install pyodbc
- 测试使用
db=pyodbc.connect('DSN=testSybase;UID=sa;pwd=tznh4840')
cur=db.cursor()
cur.execute("update gdzjjg_fkb set hfzt=?,hfnr=?,hfsj=? where sjhm=? and plv_vchno=?",hfzt,resp,dateStr,mobileNum,plv_vchno)
cur.execute("insert into dbo.gdzjjg_pyodbc(id,text) values(?,?)",dateStr,msgBody.decode('utf8'))
db.commit()
cur.close()
db.close()
- 后台运行及自启动
#后台运行(nohup)
nohup python2 -u smsSocketServer_bak.py
#添加启动项
cd /etc/rc.d
vi boot.local
cd /home/admin/Downloads/Sybase&&nohup python2 -u smsSocketServer_bak.py