Python3.x: pyodbc+FreeTDS+UinxODBC连接sybase数据库(Linux系统)

摘要:
目前,unixODBC有两个版本。Soname是libodbc。所以1,soname是libodbc。所以2对于使用libodbc的驱动程序。所以1,下载unixODBC-2.3.0.tar。gz。作者找到了libodbc的最高版本。所以1个库;用于使用libodbc。因此2驱动程序可以下载最新的unix ODBC。您还可以使用odbcinst-q-s检查可用的数据源#使用isql:isqlvxiaosu用户名密码测试连接#如果出现以下内容,则连接成功。
Python3.x: pyodbc+FreeTDS+UinxODBC连接sybase数据库(Linux系统)

一、安装UinxODBC以及依赖包

yum -y install gcc gcc-c++ unixodbc unixODBC-devel  python-devel

下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz

下载安装包unixODBC-2.3.0.tar.gz放到/usr/local下。

unixODBC版本目前有两套,soname为libodbc.so.1与soname为libodbc.so.2

对于使用libodbc.so.1的驱动下载unixODBC-2.3.0.tar.gz,作者自己发现最高版本的libodbc.so.1库;
对于使用libodbc.so.2的驱动下载最新的unixODBC即可。

二、安装 FreeTDS

这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。

官方网站:http://www.freetds.org

版本:0.64下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

tar xf freetds-stable.tgz
cd freetds-0.91/
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/ --with-tdsver=5.0
# ./configure --prefix=/usr/local/freetds0.91  --enable-msdblib  --with-tdsver=8.0  make make install

三、配置FreeTDS并用tsql测试连接

vi /usr/local/freetds/etc/freetds.conf
#添加如下内容:
[Sybase]
        host = IP 地址
        port = 端口号
        tds version = 5.0
        client charset = UTF-8
#具体的IP和端口号替换成个人所需即可
#测试连接:
/usr/local/freetds/bin/tsql -S Sybase  -U 用户名 -P 密码
#如果出现如下内容,或者类似内容,表示连接成功,此时可以执行一些SQL语句试试
locale is "en_US.utf8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select getdate()
2> go
getdate()
Nov 29 2018 02:05:20:050PM
(1 row affected)
1>

四、配置UinxODBC以及测试isql

#创建驱动的模板文件1.txt 内容如下:
[TDS]
Description             = Sybase
Setup           = /usr/lib/libtdsS.so
Driver64                = /usr/local/freetds/lib/libtdsodbc.so
Driver          = /usr/local/freetds/lib/libtdsodbc.so
setup64         = /usr/lib64/libtdsS.so
FileUsage               = 1
UsageCount              = 2
#然后使用odbcinst安装驱动:
odbcinst -i -d -f 1.txt
#执行完成之后,可以检查一下/etc/odbcinst.ini,如果可以看到TDS的内容,说明配置没问题
#也可以用odbcinst -q -d 检查驱动
#创建数据源的模板文件,内容如下:
[xiaosu]
Driver =  TDS
Descrption = Sybase Server
Trace = No
Server =  IP地址
Database = 数据库
Port = 端口号
#这里的Database,IP地址和端口号替换成自己需要的即可
odbcinst -i -s -f 2.txt
#执行完成以后,会在用户的home目录下生成.odbc.ini的文件,vim ~/.odbc.ini检查一下文件内容即可。也可以用odbcinst -q -s检查可用的数据源
#用isql测试连接: isql -v xiaosu  用户名  密码
#如果出现如下内容,说明连接成功了。
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

五、编译安装pyodbc

unzip pyodbc-3.0.7.zip 
cd pyodbc-3.0.7
python setup.py install

六、测试pyodbc连接

import pyodbc
conn=pyodbc.connect("DSN=xiaosu;UID=uid;pwd=password")
cursor=conn.cursor()
#输出数据库中所有表名
cursor.execute("select name from sysobjects where type ='U'")
for i in cursor:
    print(i)

免责声明:文章转载自《Python3.x: pyodbc+FreeTDS+UinxODBC连接sybase数据库(Linux系统)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[CSS3] 几种分割线实现方法高德地图API之公交路线下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sybase用户管理(创建、授权、删除)

一、登录用户管理:1、创建用户:sp_addlogin loginame, passwd [, defdb] [, deflanguage] [, fullname] [, passwdexp] [, minpwdlen] [, maxfailedlogins] [, auth_mech]如:创建用户rusky,密码:zxcvbnm,默认数据库testdb...

windows server 2012 DC 环境 重启后蓝屏 蓝屏代码: 0xc00002e2

1.win. server 2012 好久没有重启了,今天寻思重启一下。然后蓝屏了。 蓝屏错误代码: 0xc00002e2 2.问题说明: 说一下起因: 是由于DC中的ntds.dit文件问题。 前提:是DC服务器也就是域控。才有效。 3.问题解决: 3.1 进入目录修改 1.蓝屏重启后会自动进入修复模式,在修复模式下选择疑难解答-->高级选项--&...

SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN 2、建立链接数据库EXEC sp_addlinkedserver @server = 'MySQLTest', @srvpro...

网络爬虫+SQL注入检测一

项目目录结构 /w8ay.py //项目启动主文件 /lib/core //核心文件存放目录 /lib/core/config.py //配置文件 /script //插件存放 /exp //exp和poc存放 四、实验步骤 4.1 sql检测脚本编写 用一个字典存储数据库特征: DBMS_ERRORS = { # regular express...

C#连接一些常见的数据库(sql,Access,Oracle,Sybase,DB2)

1.C#连接连接Access //导入命名空间 using System.Data; using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=D:""Northwind.mdb";...

Linux下连接MS Sql server 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间

Linux下连接MS Sql server -- 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间 Linux下连接MS Sql server -- 使用ODBC/FreeTDS组合(详细) 最近工作上需要,了解了下相关内容,网上资料较散,逻辑也不够清晰,这里总结了一下,算是比较全面的(部分内容来自网络)。 在Linux下连接MSS...