Python中导入cx-Oracle文件配置

Python中导入cx-Oracle文件配置

连接方式#

1

2

3

4

5

6

7

8

9

import cx_Oracle as cx

 

#第一种

con = cx.connect('apps''apps123''127.0.0.1:1521/TEST')

#第二种

con = cx.connect('root/root123@127.0.0.1:1521/orcl')

#第三种

dsn = cx.makedsn('127.0.0.1''1521''orcl')

connection = cx.connect('root''root123', dsn)

 简单使用#

1

2

3

4

5

6

7

8

9

# -*- coding: utf-8 -*-

import cx_Oracle as cx      #导入模块

con = cx.connect('root''root123''127.0.0.1:1521/ORCL')  #创建连接

cursor = con.cursor()       #创建游标

cursor.execute("select * from TDER where ID='28'")  #执行sql语句

data = cursor.fetchone()        #获取一条数据

print(data)     #打印数据

cursor.close()  #关闭游标

con.close()     #关闭数据库连接

Create a script like the one below:

# myscript.py

from __future__ import print_function

import cx_Oracle

# Connect as user "hr" with password "welcome" to the "orclpdb1" service running on this computer.
connection = cx_Oracle.connect("hr", "welcome", "localhost/orclpdb1")

cursor = connection.cursor()
cursor.execute("""
        SELECT first_name, last_name
        FROM employees
        WHERE department_id = :did AND employee_id > :eid""",
        did = 50,
        eid = 190)
for fname, lname in cursor:
    print("Values:", fname, lname)

oracle数据库的操作和mysql的pymysql操作基本相同,可以参考pymysql使用

windows下使用注意#

windows下是使用需要安装`Instant Client`

1 Oracle客户端下载 Instant Client

https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

2) 解压到一个目录,并添加到环境变量

首先我安装的python是3.7版本,32位。这个在cmd下输入python就能看见。

连接Oracle比MySQL麻烦一些,如何连接MySQL,请点这里。

连接Oracle需要安装cx_Oracle和oracle客户端,由于我装的python3.7版本,找cx_Oracle的时候发现别人博客里的链接最高只能下载python3.6的cx_Oracle,我下载一个3.6的果然安装失败,网上也有那种报错的解决方法,但是我觉得毕竟版本不一样,不太想试。这情况让我不禁怀疑人生,不会更新这么慢吧,难道我还要等更新或者重新安装python3.6?后来总算找到了最新的下载地址,感觉还不错。下面直接从别处粘的。

Python一个官方网站PyPI,上面有丰富的模块。cx_Oracle就可以在PyPI中下载。打开PyPI的网址https://pypi.python.org/pypi,在里面搜索cx_Oracle,即可找到该模块,其下载地址为https://pypi.org/project/cx_Oracle/#files。当然也可以通过其它的途径下载。

粘的时候第二个链接不对,我改了一下,不知道以后会不会再变,仔细看一下网页,就能找到在哪下载了。

我是先根据python版本找的要下载哪个,看样子还挺全的,Linux、win32、win64应该是都有,我直接下的win32。但是这个是.whl文件,又百度一下怎么安装.whl文件。

安装这个得先在cmd下输入:pip install wheel(如果报错则输入:pip.exe install wheel)。安装完毕,还是在cmd里,用dos命令找到cx_Oracle下载位置。下面放上dos进入路径的命令用法。

大概就是这样,然后继续输入安装cx-Oracle的命令,注意:这命令是用来装.whl文件的。

命令:pip install cx_Oracle-6.4.1-cp37-cp37m-win32.whl(如果报错,则输入:pip.exe install cx_Oracle-6.4.1-cp37-cp37m-win32.whl),其中“cx_Oracle-6.4.1-cp37-cp37m-win32.whl”是我的文件名。

下面情况就是安装成功了:

现在完成了一半了,然后再下载Oracle客户端,百度找instantclient就行了,这里一定要确定好是下载32位的还是64位的,我之前有一个64位的,直接用总是报错:cx_Oracle.DatabaseError: DPI-1047: 32-bit Oracle Client library cannot be loaded: "D:\instantclient_12_2\oci.dll is not the correct architecture"

这意思是要用32位的客户端(我百度找答案的时候,别人都是提示让下载64位的客户端。。。)

重新找了一个32位的下载了,放到一个位置,然后配置环境变量,Path里加上路径,像我这就加D:\instantclient_12_2就行了。废了半天劲环境应该是好了,下面附上一段我用的代码,部分内容隐藏。(如果还不行,请再根据问题百度)

import cx_Oracle
#连接数据库,下面括号里内容根据自己实际情况填写
conn = cx_Oracle.connect('用户名/密码@IP:端口号/SERVICE_NAME')
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
#使用execute方法执行SQL语句
result=cursor.execute('Select member_id from member')
#使用fetchone()方法获取一条数据
#data=cursor.fetchone()
 
#获取所有数据
all_data=cursor.fetchall()
 
#获取部分数据,8条
#many_data=cursor.fetchmany(8)
 
print (all_data)
db.close()
工作中只是查询会员号,然后验证会员号,所以增删改就没写,和MySQL差不多,应该能直接迁移,上面有连接MySQL的链接,那里写了MySQL的增删改的代码。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值