Python3.6连接Oracle数据库的方法详解

2023-12-07数据库
59

Python3.6连接Oracle数据库的方法详解

Python是一种高级编程语言,可以连接各种数据库。Oracle是目前全球最大的数据库系统,学习Python并掌握如何连接Oracle数据库是一种必要的技能。本文将通过Python的cx_Oracle模块连接Oracle数据库的步骤进行详细讲解。

安装cx_Oracle模块

有两种方法可以安装cx_Oracle模块:使用pip或手动下载。如果系统已经安装了Oracle客户端,可以直接通过pip安装cx_Oracle模块。如果还没有安装Oracle客户端,需要手动下载并设置Oracle客户端的环境变量。

使用pip安装

pip install cx_Oracle

手动下载

从官网(https://cx-oracle.readthedocs.io/en/latest/installation.html#downloads)上下载与Oracle客户端和Python版本匹配的cx_Oracle压缩包。解压后将cx_Oracle目录添加到环境变量中。

连接Oracle数据库

连接Oracle数据库需要以下信息:

  • IP地址或主机名
  • 端口号
  • Oracle服务名或SID
  • 登录名
  • 密码

在Python中,可以使用cx_Oracle.connect()函数连接Oracle数据库。示例代码如下:

import cx_Oracle

dsn = cx_Oracle.makedsn("localhost", 1521, "ORCLCDB")
con = cx_Oracle.connect(user='hr', password='123456', dsn=dsn)
print(con.version)

这里的dsn参数是一个Oracle数据源名称,由主机名、端口号和服务名组成。其中,localhost是主机名,1521是端口号,ORCLCDB是Oracle服务名。'hr'和'123456'分别是登录名和密码,可以进行修改。

通过打印con.version,在连接成功后可以看到Oracle的版本信息。

执行SQL语句

使用cx_Oracle.connect()函数连接Oracle数据库后,下一步是执行SQL语句。可以使用con.cursor()方法创建游标对象,然后使用execute()方法执行SQL语句。示例代码如下:

import cx_Oracle

dsn = cx_Oracle.makedsn("localhost", 1521, "ORCLCDB")
con = cx_Oracle.connect(user='hr', password='123456', dsn=dsn)

cursor = con.cursor()
cursor.execute("""
    SELECT first_name, last_name
    FROM employees
    WHERE department_id = :did AND employee_id > :eid""",
    did = 50,
    eid = 190)

for first_name, last_name in cursor:
    print("First Name:", first_name)
    print("Last Name:", last_name)

con.close()

这里执行的SQL语句是查询employees表中的first_name和last_name两列数据,条件是department_id等于50且employee_id大于190。连接关闭后,打印查询结果。

结论

通过Python3.6连接Oracle数据库的方法,可以轻松地连接Oracle数据库并执行SQL语句。以上是两个基本示例,更多用法可以查看官方文档(https://cx-oracle.readthedocs.io)进行学习。

The End

相关推荐

liunx mysql root账户提示:Your password has expired. To log in yo
liunx mysql root账户提示:Your password has expired. To log in you must change it using a client that supports expired passwords,要怎么操作呢? 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动...
2024-12-24 数据库
149

快速解决PostgreSQL中的Permission denied问题
下面是针对PostgreSQL中的权限问题的完整攻略。...
2023-12-07 数据库
3413

MySQL时间类型和模式详情
MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。...
2023-12-07 数据库
15

VMware中安装CentOS7(设置静态IP地址)并通过docker容器安装mySql数据库(超详细教程)
首先在官网下载CentOS7镜像,并在VMware虚拟机中新建一台CentOS7虚拟机,将镜像挂载到虚拟机中并启动。...
2023-12-07 数据库
11

SpringBoot项目报错:”Error starting ApplicationContext̷
首先,当我们使用Spring Boot开发项目时,可能会遇到Error starting ApplicationContext错误,一般这种错误是由于配置文件、依赖包或者代码逻辑等原因引起的。下面我将提供一条包含两条详细示例说明的完整攻略,用来解决上述问题。...
2023-12-07 数据库
489

Postgresql 赋予用户权限和撤销权限的实例
下面我将详细讲解如何为PostgreSQL数据库中的用户授予权限和撤销权限,包括两个实例。...
2023-12-07 数据库
30