python连接oracle数据库

网上很多教程都是千篇一律的,都只是教你安装cx_oracle然后就是连接数据库、创建游标等等操作,我按照他们的操作来之后就会报错,然后将以下文件放入到python解释器目录下之后就可以实用了,看来还是要实践出真知。

我这里连接的不是本地Oracle,是连接的远程局域网下的Oracle,连接Oracle需要安装 cx_Oracle 库来连接oracle数据库,我这里是连接的远程数据库,还需要拷贝跟oracle相关的dll文件到python解释器下的:Lib->site-packages 目录。

下载链接:python连接Oracle数据库所需要的文件-Python文档类资源-CSDN下载

也可以下载instant client(需要Oracle帐号),然后解压、打开目录,将里面全部.dll文件复制到site-packages目录下,但是此网站对国内不友好,下载比较缓慢。

 经过几次测试,删除其中几个.dll文件之后就会报错,然后再恢复就能正常连接,增删改查等。

import cx_Oracle
import configparser as conf
# 从配置文件中获取连接信息
s = conf.ConfigParser()
s.read('Server.ini')
s_user = s.get("Server", "username")
s_pwd = s.get("Server", "password")
s_host = s.get("Server", "host")
s_port = s.get("Server", "port")
s_db = s.get("Server", "db")

# 连接数据库的三种方法
db1 = cx_Oracle.connect(s_user, s_pwd, f'{s_host}:{s_port}/{s_db}')

# db2 = cx_Oracle.connect(f'{s_user}/{s_pwd}@{s_host}:{s_port}/{s_db}')

# dsn = cx_Oracle.makedsn({s_host}, {s_port}, {s_db})
# db3 = cx_Oracle.connect({s_user}, {s_pwd}, dsn)


# 创建游标
cursor = db1.cursor()
sql = "select * from V$database"
# 执行sql
cursor.execute(sql)
# 循环获取数据
for row in cursor:
    print(row)


# 获取全部数据
# result = cursor.fetchall()


# def makedict(c):
#     cols = [d[0] for d in c.description]
#     def createrow(*args):
#         return dict(zip(cols, args))
#     return createrow
# cursor.rowfactory = makedict(cursor)
# 获取字典形式数据
# for row in cursor:
#     print(row)

# 关闭游标和连接
cursor.close()
db1.close()
配置文件参数,根据提示填写自己的信息即可。
[sql]
username=用户名
password=密码
host=主机地址
port=端口号
db=数据库名

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕慕慕慕公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值