python -- 连接 orclae cx_Oracle的使用
# 如果报错参考的资料
https://blog.csdn.net/white_xuqin/article/details/82878860
场景再现:
python-cx_oracle报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "
解决方案:
一、检查本地是否安装Oracle,如果安装,检查版本是否和python一样都,都是64位。
二、如果本地没有安装Oracle,则需要安装。一下为安装方式:
我们考虑安装Oracle Instant Client(轻量级客户端,占用空间极少)
安装包下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载instantclient-basic-windows.x64-11.2.0.4.0(或者相近的版本)即可
具体安装步骤:
1、将下载的压缩包,放到目录 E:\Oracle下,解压,生成instantclient_11_2文件夹,即:E:\Oracle\instantclient_11_2
2、修改系统变量
1> 将E:\Oracle\instantclient_11_2添加到系统变量PATH中
2> 新增系统变量
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252 -->> 服务器端字符集
TNS_ADMIN=E:\Oracle\instantclient_11_2 -->> 指定tnsnames.ora所在位置
注意:修改系统变量之后,要检查一下是否生效,如果没有生效,则多试几次,实在不行则重启电脑。
3、在E:\Oracle\instantclient_11_2 下新建tnsnames.ora配置文件,内容如下:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
4、重启Pycharm(必须重启,否则还是会报错)
---------------------
作者:white_xuqin
来源:CSDN
原文:https://blog.csdn.net/white_xuqin/article/details/82878860
版权声明:本文为博主原创文章,转载请附上博文链接!
import cx_Oracle #引用模块cx_Oracle
conn=cx_Oracle.connect('账号/密码@192.168.***.***:1521/数据库名') #连接数据库 cursor = conn.cursor () try:
# 解析sql语句
# cursor.parse("select * dual")
pass
# 捕获SQL异常
except cx_Oracle.DatabaseError as e:
print(e) # ORA-: 未找到要求的 FROM 关键字 # 执行sql 语句
cursor.execute ("select * from EKP_PRODUCTIVITY_SL") for row in cursor:
print(row) c.close() #关闭cursor
conn.close()
最新文章
- HDU 5968 异或密码
- 日常维护sql
- HTML5在移动端开发的12大特性
- Spring MVC Spring MyBatis 整合 - 快速上手
- paper 2:图像处理常用的Matlab函数汇总
- 单源最短路径-Dijkstra算法
- input与button按钮背景图失效不显示的解决办法
- 使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置
- vue :class的动态绑定
- linux 常用命令集锦
- mysql授权用户,撤销用户,撤销权限基本操作
- HDU ACM 1869 六度分离(Floyd)
- CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]
- Win10+Ubuntu16.04双系统安装过程中遇到的一些问题及解决办法
- python3.5学习第一章
- spring boot 中使用swagger 来自动生成接口文档
- Apache+jboss群集优化
- [转]Linux sendmail 详解
- 【spring源码分析】spring AspectJ的Execution表达式
- [Flutter] Android沉侵式标题栏顶部叠加层去除
热门文章
- java笔记4—继承
- Scratch编程:打猎(十)
- 接口标记为@ResponseBody却不进入ResponseBodyAdvice
- PCL中将回调函数封装到类中
- 全面学习 Python 包:包的构建与分发
- Javap与JVM指令
- 如何把前端用ajax发过来的图片传到node上,并且用node保存在oss图片服务器上?
- iOS自动签名网站
- Multipath 多路径配置说明
- STM32F10x芯片类型 STM32F10X_LD STM32F10X_MD STM32F10X_HD STM32F10X_XL STM32F10X_CL