(精品)Window下Python远程访问oracle 11g
1.下载软件包:
访问的数据库版本为:
所需软件包:
(1)Oracle Instant Client 与数据库版本对应。如果您的数据库是远程数据库,那么请从适用于您的操作系统体系结构的免费OracleInstant Client “基本”或“基本光”包中下载并解压缩客户端库。
- 12.2版的客户端库可以连接到Oracle Database 11.2或更高版本。
- 12.1客户端库可以连接到Oracle Database 10.2或更高版本。
- 11.2版本的客户端库可以连接到Oracle Database 9.2或更高版本。
(2)Oracle Instant Client需要具有64位或32位体系结构的Visual Studio可再发行组件以匹配即时客户端的体系结构。每个Instant Client版本都需要不同的可再发行版本:
- 对于Instant Client 11.2,安装VS 2005 64位或VS 2005 32位
- 对于Instant Client 12.1安装VS 2010
- 对于Instant Client 12.2安装VS 2013
OracleInstant Client和VisualStudio下载地址:
http://cx-oracle.readthedocs.io/en/latest/installation.html#id1
(3)要在Python和Oracle数据库中使用cx_Oracle,您需要下载对应Python版本,操作系统版本,数据库版本。较早版本的cx_Oracle可能适用于旧版本的Python(cx_Oracle 6需要:Python 2.7或3.4及更高版本)。
注:5.1.2 --- 代表cx_Oracle版本
11g --- 代表数据库版本
win_amd64 --- 代表window平台64位系统
py2.7 --- 代表所使用的python环境
cx_Oracle下载地址:https://sourceforge.net/projects/cx-oracle/files/
2.安装OracleInstant Client:
(1) 下载Visual Studio(与OracleInstant Client相对应版本),双击安装。
(2) 下载Oracle Instant Client,解压到一个目录下,生成以下文件夹
(3) 在C:\instantclient_12_2目录下点击此exe文件安装。
(4) 将此路径添加到path环境变量中,如C:\instantclient_12_2;如果本地还安装有oracle数据库,要添加到oracle的路径前面。
(5) 新建ORACLE_HOME,TNS_ADMIN,NLS_LANG 三个变量,NLS_LANG是为了防止中文乱码。
注:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(6) 创建一个监听文件tnsnames.ora到C:\instantclient_12_2,打开添加以下内容,并保存。
oral=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST= 192.168.1.66)(PORT =1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oral)
)
)
主要改(见红字部分): = 前面的别名(可以自定义替换)
Host为IP地址
SERVICE_NAME为数据库服务器的实例名。
3.卸载方法:
(1) 系统的环境变量中:
删除 ORACLE_HOME,TNS_ADMIN, NLS_LANG 三个变量,修改path变量,去掉C:\instantclient_11_2;
(2)删除C:\instantclient_11_2的解压目录。
4.安装对应版本的cx_Oracle(双击安装即可)
安装完成后,将客户端(即:C:\instantclient_12_2目录)下的所有dll文件或者整个目录文件拷贝到所运行的python安装目录下,即C:\Python2\Lib\site-packages文件夹***:我的python安装目录为C:\Python\Python2。
5.测试数据库的连接: