当前位置: 首页 > news >正文

docker--在Anaconda jupyter 容器中使用oracle数据源时,Oracle客户端安装配置及使用示例

配置oracle 11.2 客户端

  • 将instantclient-basic-linux.x64-11.2.0.4.0.zip解压至/home/jupyter/oracle/
  • 将instantclient-sqlplus-linux.x64-11.2.0.4.0.zip解压/home/jupyter/oracle/【可选,提供sqlplus命令】
  • 复制【操作系统一般都有安装libaio.so】 cp /usr/lib64/libaio.so.1 /home/jupyter/oracle/instantclient_11_2/
  • ln -s /home/jupyter/oracle/instantclient_11_2/libclntsh.so.11.1 /home/jupyter/oracle/instantclient_11_2/libclntsh.so
docker run -d --rm --name=jupyter-server -p 8888:8888 \-e  LD_LIBRARY_PATH=/home/oracle/client:$LD_LIBRARY_PATH -v /home/jupyter/notebook:/root/jupyter:rw -v /home/jupyter/oracle/instantclient_11_2:/home/oracle/client -v /home/jupyter/assets:/opt/conda/lib/python3.9/site-packages/notebook/static/components/pyecharts/assets:ro jupyter:2023.8.23

在jupyter中使用示例

导入依赖m

import cx_Oracle
import pandas as pd
import os
from sqlalchemy import create_engine
os.environ['NLS_LANG']='SIMPLIFIED CHINESE_CHINA.UTF8'
from sqlalchemy import text

使用cursor方式

conn = cx_Oracle.connect('user/pw@192.168.18.19:1521/orcl')
cursor=conn.cursor()
cursor.execute("select * from USER ")
cursor.fetchall()[0]

pandas方式

原生连接方式

df=pd.read_sql("select * from USER where IS_STATUS=:status",conn,params={'status':2})
df

使用sqlalchemy方式

engine = create_engine("oracle+cx_oracle://user:pw@192.168.18.19:1521/orcl",echo=False)
conn = engine.connect()
df=pd.read_sql_query(text("select * from USER where IS_STATUS=1"),con=conn)
df

碰到的坑

  • 'OptionEngine' object has no attribute 'execute'错误
  • Not an executable object:

oracle instant-client下载与安装sqlplus
Centos7-安装oracle客户端11.2.0.4
Linux系统安装oracle客户端步骤详解
sqlalchemy+pandas:错误 ‘OptionEngine’ object has no attribute ‘execute’,‘str’ object has no attribute ‘_execute_on_connection’

instant-client for linux-x86-64
instant-client for win64

http://www.lryc.cn/news/191105.html

相关文章:

  • can的波特率/比特率
  • 项目经理涨薪秘籍!技巧都在这里了
  • 甘特图组件DHTMLX Gantt示例 - 如何有效管理团队工作时间?(一)
  • 健效达海豚妈妈儿保项目推介会盛大启幕,聚焦互联网+精准医疗
  • 使用XLua在Unity中获取lua全局变量和函数
  • springboot项目集成kafka,并创建kafka生成消息线程池
  • PreScan与MATLAB联合仿真报错
  • ros学习笔记(1)Mac本地安装虚拟机,安装Ros2环境
  • 史上最强,Jmeter性能测试-性能场景设计实例(详全)
  • 【vim 学习系列文章 7-- vim vnormap nnoremap nmap map inoremap 区别】
  • [ERROR] COLLATION ‘utf8_unicode_ci‘ is not valid for CHARACTER SET ‘latin1‘
  • 基于rancher安装部署k8s
  • 保姆级微服务部署教程
  • springboot 定时任务
  • 【大数据】HBase入门指南
  • 零售数据分析模板鉴赏-品类销售结构报表
  • 竞赛 深度学习 机器视觉 车位识别车道线检测 - python opencv
  • MySQL中使用函数会使索引失效?
  • 金和OA C6任意文件读取漏洞 复现[附POC]
  • IP地址技术原理
  • 【网络安全】密码学基础
  • AWS AD Connector 的网络配置
  • kafka详解(三)
  • [Spring] SpringMVC 简介(二)
  • idea一些不太常用但是能提升编码效率的快捷键
  • vsto word属性信息 并读取
  • android之TextView自由选择复制
  • 【mysql】 bash: mysql: command not found
  • 鲲山科技:引入和鲸 ModelWhale,实现量化策略的高效迭代
  • PFSK152 3BSE018877R1 有源滤波器的定义