python3.82版本安装到手机_82.python 手动安装ibm_db2步骤

1.python 手动安装ibm_db2步骤:(在最下面我贴着我下载包的云盘路径,但不保证对你有用)

"""说实话这个包是我见过最恶心的包,整整弄了三天,网上的博客我是服了,驴头不对马嘴,自己写的博客估计以后自己都看不懂么,所以我自己整理了一篇."""

windows:

"""非常遗憾的告诉你,ibm_db2我安装好了之后操作不了数据库,建议使用pyodbc 直接pip可以安装可以操作,这又是一个神坑啊"""

1.在命令pip install ibm_db -i https://pypi.douban.com/simple/,之后你会发现卡住了,但是下面出现了一个下载ibm_db的tar.gz的连接.

2.复制连接到浏览器中,或者出去,不管咋样下到这个包解压之后会出现一个ibm_db-xxx的目录,后面的xxx是版本号,将这个目录

直接拷贝到C:\Users\yzt\PycharmProjects\test_env\venv\Lib\site-packages你的环境的site-packages目录下

3.这个时候不要急着退出,

打开cmd,cd到你的ibm_db-3.0.2刚才移动过来ibm_db目录下(我用的是虚拟环境)所以目录的路径是下面这个,

C:\Users\yzt\PycharmProjects\test_env\venv\Lib\site-packages\ibm_db-3.0.2

你的根据自己的配置cd进去之后执行如下命令:

C:\Users\yzt\PycharmProjects\test_env\venv\Scripts\python.exe setup.py install(我用的虚拟环境)

4.这个时候回报错出现第二个需要下载的文件路径如下:(不管是用什么方法都可以只要下下来,解压出来会生成一个clidriver的

文件夹,直接将文件拷贝到C:\Users\yzt\PycharmProjects\test_env\venv\Lib\site-packages\ibm_db-3.0.2路径下)

https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ntx64_odbc_cli.zip

5.继续执行在cmd中执行C:\Users\yzt\PycharmProjects\test_env\venv\Scripts\python.exe setup.py install,这个

时候会再次报错,这次会出现一个db2_xxx.dll文件找不到,这个是db2的客户端的可执行文件,需要去ibm的网站下载(记住需要注

册账号才能下载),路径如下,看到图了之后选择window64或者linux你随意.进入之后,会出现两个选择框都点着点击继续,然后页

面会出现第二幅图的样子,红框中的是在window上可以点击执行的文件.(红框下面的两个比较坑,下出来解压之后是两个.msm文件不会用)

https://www.ibm.com/support/pages/node/1116777

6.红框中的下载好了之后直接点击运行就可以了,之后直接加入环境变量(随意加,不存在java呢种还需要创建JAVA_HOME变量这种

方式,只要加进去就可以)最后执行下面的命令(cmd中),就安装好了:

C:\Users\yzt\PycharmProjects\test_env\venv\Scripts\python.exe setup.py install(我用的虚拟环境)

7.这个时候你去项目中导包,可能又会报错ImportError: DLL load failed: 找不到指定的模块。这个是因为刚才的clidriver文件夹

需要给,经过第六步生成的这个路径C:\Users\yzt\PycharmProjects\test_env\venv\Lib\site-packages\ibm_db-3.0.2-py3.6.egg\

下面赋值一份.之后就可以直接在项目中使用了

注意:

不要去网上下载人家云盘里面的ibm_db版本包,呢都是以前的版本,db2呢个客户端的.dll文件根本找不到它,跟着你的pip显现的

版本下载即可(否则你可能安装的怀疑人生)

图一:

图二:

linuxs:

关于这个db2数据库我又被恶心了一把

1.安装pyodbc

pip install pyodbc -i https://pypi.douban.com/simple

直接报错:error: command 'gcc' failed with exit status 1

搜索很简单解决: yum install unixODBC unixODBC-devel

2.安装db2 odbc操作客户端工具,window里面有下载连接记得换成linux的就行了

[root@localhost opt]# ls

odbc_cli test.py linuxx64_odbc_cli.tar.gz test2_db2.py

tar -xvf linuxx64_odbc_cli.tar.gz # 直接解压

3.配置环境变量

# db2数据odbc路径配置

export DB2_CLI_DRIVER_INSTALL_PATH=/opt/odbc_cli/clidriver

export LD_LIBRARY_PATH=/opt/odbc_cli/clidriver/lib

export LIBPATH=/opt/odbc_cli/clidriver/lib

export PATH=/opt/odbc_cli/clidriver/bin:$PATH

export PATH=/opt/odbc_cli/clidriver/adm:$PATH

4.配置odbc连接

01:https://www.cnpython.com/qa/74714 # 看这个博客你会知道需要下载db2 odbc操作的东西对没问题就是他

02:但是基本没有odbc关于连接db2的完整配置的博客

[root@localhost opt]# odbcinst -j # 查看unixodbc操作的配置驱动文件

unixODBC 2.3.1

DRIVERS............: /usr/local/etc/odbcinst.ini # 这个是driver驱动的文件,配置了它就可以使用驱动了

SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini # 注意这个是DNS解析文件(也就是配置好ip,端口他给你解析)

FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources

USER DATA SOURCES..: /usr/local/etc/odbc.ini

SQLULEN Size.......: 8

SQLLEN Size........: 8

SQLSETPOSIROW Size.: 8

03:vim /root/odbcadd.txt

[DB2]

Driver = db2

Description = My MS SQL DB2

odbcinst -i -s -f /root/odbcadd.txt -l # 使用这个命令将写的配置文件,加载进去/usr/local/etc/odbc.ini(但是没完)

[root@localhost opt]# cat /usr/local/etc/odbc.ini

[DB2]

Driver = db2

Description = My MS SQL DB2

04:编辑驱动文件,写入如下内容(这个是驱动),driver中的路径需要根据你安装db2_odbc的软件目录确定,我在/opt安装的所以路径如下/opt/odbc_cli/clidriver/lib/libdb2.so

[root@localhost opt]# cat /usr/local/etc/odbcinst.ini

[db2]

Description = DB2 Driver

Driver = /opt/odbc_cli/clidriver/lib/libdb2.so

FileUsage = 1

DontDLClose = 1

05:编写python脚本连接测试

[root@localhost opt]# cat test2_db2.py

import pyodbc

class DB2Opera(object):

def __init__(self, host, user, password, port="50000", database=""):

self.host = host

self.user = user

self.password = password

self.port = int(port)

self.database = database

def conn(self):

self.conn = pyodbc.connect(

'Driver={db2}; ' # 驱动与DNS二选一即可:它对应的是cat /usr/local/etc/odbcinst.ini

# 'DSN=DB2;' # 它对应的是cat /usr/local/etc/odbc.ini(与上面的参数二选一即可)

'Hostname=%s; '

'Port=%s; '

'Protocol=TCPIP; '

'Database=%s; '

'CurrentSchema=schema; '

'UID=%s; '

'PWD = %s;' % (self.host, self.port, self.database, self.user, self.password)

)

self.cur = self.conn.cursor()

print("连接成功")

if __name__ == '__main__':

mysql_obj = DB2Opera("10.20.86.45", "db2inst1", "11111111", database="ca61gm")

mysql_obj.conn()

06:执行成功

[root@localhost opt]# python3 test2_db2.py

连接成功

参考链接:根据后面的星星判断重要程度(越重要星星越多)

https://blog.csdn.net/qq_35342617/article/details/88780545 ***

http://blog.chinaunix.net/uid-8795823-id-2013290.html ****

https://blog.csdn.net/toseekin/article/details/107901810 *

https://www.cnpython.com/qa/74714 *

https://blog.csdn.net/avwjq/article/details/43532853 *****

https://blog.csdn.net/u010587433/article/details/46799037 **

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值