【Oracle安装及使用】超级详细的初次在python中使用Oracl图文详解!手把手教你从安装Oracle到在python中连接
- 一、准备工作
- 二、安装Oracle
- 三、配置并测试Oracle
- 四、python连接Oracle
- 参考:
一、准备工作
需要安装pycharm、
主要任务:安装Oracle、Oracle环境配置、新建数据库、测试、pycharm中下载包、pycharm中使用Oracle。
二、安装Oracle
1.Oracle完整安装详解
这篇很详细了,还附了安装包,按照博主一套下来基本没问题。
此外有几个小改动:
(1)HOST我改成了IP地址*
查询自己的本机地址方式如下
win+R cmd 输入 ipconfig
IPv4 地址就是IP地址了
三、配置并测试Oracle
环境配置参考第二篇
2.Oracle 数据库安装(19c,SQL Developer,PL/SQL Developer)
在“环境变量”的“系统变量”(我的电脑-属性=高级系统设置)中增加:
ORACLE_HOME变量,变量值是oracle的db home目录:
ORACLE_HOME=D:\Data_Analysis\Oracle\Oracle_Database_19c\oracle_db_home_v1930
TNS_ADMIN 变量,变量值是你的databse安装目录中的\admin\tnsnames.ora文件的路径:
TNS_ADMIN=D:\Data_Analysis\Oracle\Oracle_Database_19c\oracle_db_home_v1930\network\admin
NLS_LANG变量,是用来防止Oracle出现 中文乱码 的配置
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
————————————————
ORACLE_HOME变量以及TNS_ADMIN 变量的路径都在第一篇参考博主所属的新增加的文件夹product下面,(D:\Databases\Oracle\product)。也就是安装的时候选的目录,如下图。
所以我的分别为
ORACLE_HOME=D:\Databases\Oracle\product\11.2.0\dbhome_1
TNS_ADMIN=D:\Databases\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
安装完成后,测试一下能否连接成功:
(1)首先检测监听程序是否打开
cmd 输入 lsnrctl start
(2)服务器打开后,在开始栏找到Net Manger ,并打开
这步还是参考2.Oracle 数据库安装(19c,SQL Developer,PL/SQL Developer)
用户名记得改成system,密码为创建数据库时候的口令。
四、python连接Oracle
(1)在Pycharm中下载cx_Oracle包
如果加载不成功,使用Anaconda Prompt在自己的环境中下载
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cx_Oracle
(2)Pycharm中输入以下命令
# 导入cx_Oracleimport cx_Oracle as cx'''连接oracle需要Oracle客户端版本与 cx_Oracle 版本 与 pycharm版本一致,同时需要配置Oracle客户端的TNS_ADMIN 和path环境变量,不要配置ORACLE_HOME,否则会出现plsql不能登录的情况。'''# connect参数有多种形式,可以在网上查询详细使用 举例用:用户名/密码@地址:端口/实例名con = cx.connect('system/密码@地址:1521/ORCL')//密码、地址可以换成自己的;system、XU也可以换其他的;XU是我自己创建的数据库名cursor = con.cursor() # 创建游标cursor.execute("select * from tbl_ec_document WHERE ROWNUM <10000")# 执行sql语句data = cursor.fetchone()# 获取一条数据print(data) # 打印数据cursor.close()# 关闭游标con.close() # 关闭数据库连接
这一步有一些人会报错
需要修改监听listener.ora文件。
(3)修改listener.ora
文件在product文件夹下,我的路径(D:\Databases\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN)
增加
(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\Databases\Oracle\product\11.2.0\dbhome_1)(SID_NAME = ORCL))
详情参考第三篇
cx_Oracle.DatabaseError: ORA-12514: TNS:listener does not currently know of service requested in con
另外需要注意:上面新添加的内容。 (ORCL – 是你的SID 数据库名),就是pycharm中连接Oracle的代码部分监听的实例名,(3)修改listener.ora, 这步就是为了让名称全部统一。
con = cx.connect(‘system/密码@地址:1521/ORCL’)
显示下图就是成功了。(因为我数据库中没有创建表,所以报错)
(4)回到pycharm中,输入上面的代码
# 导入cx_Oracleimport cx_Oracle as cx'''连接oracle需要Oracle客户端版本与 cx_Oracle 版本 与 pycharm版本一致,同时需要配置Oracle客户端的TNS_ADMIN 和path环境变量,不要配置ORACLE_HOME,否则会出现plsql不能登录的情况。'''# connect参数有多种形式,可以在网上查询详细使用 举例用:用户名/密码@地址:端口/实例名con = cx.connect('system/密码@地址:1521/ORCL')//密码、地址可以换成自己的;system、XU也可以换其他的;XU是我自己创建的数据库名cursor = con.cursor() # 创建游标cursor.execute("select * from tbl_ec_document WHERE ROWNUM <10000")# 执行sql语句data = cursor.fetchone()# 获取一条数据print(data) # 打印数据cursor.close()# 关闭游标con.close() # 关闭数据库连接
成功~
参考:
安装
1.Oracle完整安装详解
python连接
2.Oracle 数据库安装(19c,SQL Developer,PL/SQL Developer)
3.cx_Oracle.DatabaseError: ORA-12514: TNS:listener does not currently know of service requested in con
python连接Oracle时,几个报错参考
4.解决ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
5.关于oracle连接ORA-12505错误的直观解决方法
6.Oracle ORA-01017: invalid username/password;logon denied问题解决