配置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’文章来源:https://www.toymoban.com/news/detail-725531.html
instant-client for linux-x86-64
instant-client for win64文章来源地址https://www.toymoban.com/news/detail-725531.html
到了这里,关于docker--在Anaconda jupyter 容器中使用oracle数据源时,Oracle客户端安装配置及使用示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!