python通过odbc连接DM7

一.安装ODBC驱动(本次以2.3.0为例)

1.首先将附件中的包上传到服务器

[root@localhost unixODBC]# cd /root/unixODBC

2.解压tar包

[root@localhost unixODBC]# tar -xvf unixODBC-2.3.0.tar.gz 

3.安装unix odbc

[root@localhost unixODBC]# cd unixODBC-2.3.0/
[root@localhost unixODBC-2.3.0]# ./configure --enable-gui=no
[root@localhost unixODBC-2.3.0]# make&make install
[root@localhost unixODBC-2.3.0]#  odbc_config --version

在这里插入图片描述

查看odbc配置文件路径

[root@localhost unixODBC-2.3.0]# odbcinst -j

在这里插入图片描述

--编辑对应的配置文件
[root@localhost unixODBC-2.3.0]# vim  /usr/local/etc/odbcinst.ini
[DM7 ODBC DRIVER]
Description = ODBC DRIVER FOR DM7
Driver = /data/dmdbms/dmdbms/bin/libdodbc.so


--编辑对应的配置文件
[root@localhost unixODBC-2.3.0]# vim  /usr/local/etc/odbc.ini
[dm]
description = DM ODBC DSN
Driver = DM7 ODBC DRIVER
SERVER = 192.168.3.100
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

4.验证isql 是否能连接数据库

[root@localhost ~]# isql -v dm SYSDBA SYSDBA

二.安装python(我安装的是Python-2.7.18版本的)

1.首先将安装包上传到服务器上

[root@localhost ~]# cd /root/python/

2.解压安装包(需要提前安装gcc gcc-c++包)

[root@localhost python]# tar -xvf Python-2.7.18.tgz

3.安装python

[root@localhost ~]# cd /root/python/Python-2.7.18
[root@localhost Python-2.7.18]# ./configure
[root@localhost Python-2.7.18]# make
[root@localhost Python-2.7.18]# make install 
查看python的版本
[root@localhost Python-2.7.18]# python --version
[root@localhost Python-2.7.18]# python setup.py install

三.安装pyodbc(以pyodbc-4.0.30为例)

1.上传pyodbc-4.0.30安装包

[root@localhost ~]# cd /root/python/

2.解压安装包

[root@localhost python]# tar -xvf  pyodbc-4.0.30.tar.gz

3.安装pyodbc

[root@localhost ~]# cd /root/python/ pyodbc-4.0.30
[root@localhost  pyodbc-4.0.30]# ./configure
[root@localhost  pyodbc-4.0.30]# make
[root@localhost  pyodbc-4.0.30]# make install 
[root@localhost pyodbc-4.0.30]# python setup.py install

四.验证python 连接数据库

[root@localhost lib]# cd /root/python/pyodbc-4.0.30/build/lib.linux-x86_64-2.7/
[root@localhost lib.linux-x86_64-2.7]# ls
libodbcinst.so  libodbc.so.1  pyodbc.so  test1.py
[root@localhost lib.linux-x86_64-2.7]# vim test1.py 
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import pyodbc
# 打开数据库连接
conn = pyodbc.connect(dsn='dm')
# 使用cursor()方法获取操作游标 
cur = conn.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cur.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""
cur.execute(sql)
# 关闭数据库连接
conn.close()


[root@localhost lib.linux-x86_64-2.7]# python test1.py
[root@localhost lib.linux-x86_64-2.7]# isql dm SYSDBA SYSDBA
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from EMPLOYEE;
+---------------------+---------------------+------------+----+-------------------------------------------------------+
| FIRST_NAME          | LAST_NAME           | AGE        | SEX| INCOME                                                |
+---------------------+---------------------+------------+----+-------------------------------------------------------+
+---------------------+---------------------+------------+----+-------------------------------------------------------+
SQLRowCount returns 0
SQL> 

验证成功,创建了新的EMPLOYEE表;

备注:找不到库文件报错解决办法:

[root@localhost ~]# find / -name libodbc.so.1
find找到后将这个库文件所在的目录加到 LD_LIBRARY_PATH环境变量里
[root@localhost ~]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/python/pyodbc-4.0.30/build/lib.linux-x86_64-2.7/
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值