【Oracle】python调取oracle数据教程

目录

(1)安装python和相关库

1.python的下载和安装

2.python安装cx_Oracle库和pandas库

3.本机安装instantclient 数据库客户端

先安装instantclient

然后设置环境变量

(2)准备好连接Oracle数据库地址等五项信息

(3)用python连接到Oracle数据库

1.测试连接情况

2.获取数据示例代码


(1)安装python和相关库

1.python的下载和安装

这个自行上网搜索。

2.python安装cx_Oracle库和pandas库

打开"命令提示符"

输入pip install pandas安装pandas库

输入pip install cx_Oracle安装cx_Oracle库

3.本机安装instantclient 数据库客户端

先安装instantclient

因为不安装这个后面会报错:cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

下载地址:Oracle Instant Client Downloads

注意下载的版本位数,python是64位的instantclient 就下64位的,python是32位的instantclient 就下32位的

然后选择了Version 12.2.0.1.0,下载了basic和sqlplus压缩包

将两者解压到同一个文件夹oracle下,他们的内容会自己放在一起

解压好了就行,免安装的,可以直接用。记得自己解压的路径位置,做好管理。

然后设置环境变量

变量名:Path

变量值:D:\software\oracle\instantclient_21_9

变量名:ORACLE_HOME

变量值:D:\software\oracle\instantclient_21_9

变量名:TNS_ADMIN

变量值:D:\software\oracle\instantclient_21_9\network\admin

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

(2)准备好连接Oracle数据库地址等五项信息

  • IP地址
  • 端口
  • 用户名
  • 密码
  • 数据库名

(3)用python连接到Oracle数据库

1.测试连接情况

以下代码简单进行连接操作,看能不能连接上

# test.py
import cx_Oracle
if __name__ == '__main__':
    # 连接到Oracle数据库,需用户名、密码、ip、端口和数据库名
    conn = cx_Oracle.connect('用户名', '密码', 'ip地址:端口/数据库名')
    # conn = cx_Oracle.connect('用户名/密码@ip地址:端口/数据库名')
    # conn = cx_Oracle.connect('用户名', '密码', 
    #                          cx_Oracle.makedsn('ip地址', '端口', None, '数据库名'))
    # 创建游标
    cursor = conn.cursor()
    print('连接数据库成功!')
    # 关闭游标和oracle数据库
    cursor.close()
    conn.close()

运行结果

2.获取数据示例代码

import cx_Oracle
import pandas as pd


if __name__ == '__main__':
    # 连接到Oracle数据库,需用户名、密码、ip、端口和数据库名
    conn = cx_Oracle.connect('username', 'password', 'ip:端口/数据库名')

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

    # 撰写sql语句,需要什么字段就查询什么字段
    sql = 'select S_INFO_WINDCODE,ANN_DT from AShareANNFinancialIndicator'

    # 通过游标和sql获取数据
    test = cursor.execute(sql)
    # print(test.fetchmany(50)) # 前50行数据
    data = test.fetchall()  # 全部数据

    # 获取英文列名
    title = [i[0] for i in cursor.description]
    print(title)
    print(type(title))

    # 数据处理
    df = pd.DataFrame(data=data, columns=title)
    print(data)
    pass

    # 关闭游标和oracle数据库
    cursor.close()
    conn.close()

end

相关推荐

  1. Oracle数据库

    2024-05-02 01:36:01       47 阅读
  2. OracleOracle数据库中的数据类型

    2024-05-02 01:36:01       21 阅读
  3. ORACLE数据导出工具

    2024-05-02 01:36:01       46 阅读
  4. oracle数据归档方案

    2024-05-02 01:36:01       26 阅读
  5. Oracle基本数据类型

    2024-05-02 01:36:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 01:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 01:36:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 01:36:01       82 阅读
  4. Python语言-面向对象

    2024-05-02 01:36:01       91 阅读

热门阅读

  1. Open CASCADE学习|GeomFill_CurveAndTrihedron

    2024-05-02 01:36:01       30 阅读
  2. DeFi 基础知识:去中心化金融及其运作方式

    2024-05-02 01:36:01       28 阅读
  3. SQL常用语句与事务介绍

    2024-05-02 01:36:01       30 阅读
  4. 【Redis基础】Redis知识体系详解-Redis概念和基础

    2024-05-02 01:36:01       27 阅读
  5. v-model原理(简易源码版)

    2024-05-02 01:36:01       38 阅读
  6. DirectX与OpenGL:图形编程接口的对比与选择

    2024-05-02 01:36:01       33 阅读
  7. 01 Linux开发环境

    2024-05-02 01:36:01       31 阅读