资讯专栏INFORMATION COLUMN

应用Docker制做Python自然环境联接Oracle镜像系统

89542767 / 531人阅读

  本文主要是给大家介绍了应用Docker制做Python自然环境联接Oracle镜像系统实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽快涨薪


  Python联接Oracle本地检测


  依靠安装使用提前准备


  Python、连接Oracle必须Python依靠和当地Oracle客户端,接口测试Oracle版本号12.1.0.2.0,开发和测试自然环境为linux,先安装使用linux手机客户端,挑选zip解压免安装版本

01.png

  解压到某个目录

  unzip instantclient-basic-linux.x64-12.1.0.2.0.zip

  解压后新建/network/admin文件夹


  cd/opt/instantclient_12_1/
  mkdir-p/network/admin


  修改root用户的环境变量


  vim/etc/profile
  export ORACLE_HOME=/opt/instantclient_12_1
  export TNS_ADMIN=$ORACLE_HOME/network/admin
  export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
  export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
  export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
  export PATH=$ORACLE_HOME:$PATH
  source/etc/profile


  下一步安装Python依赖

  pip install cx_Oracle

  Python脚本测试


  root ubuntu:~#python
  Python 3.7.6(default,Jan 8 2020,19:59:22)
  [GCC 7.3.0]::Anaconda,Inc.on linux
  Type"help","copyright","credits"or"license"for more information.
  >>>import cx_Oracle as cx
  >>>con=cx.connect('username','password','xxx.xxx.xxx.xxx:1521/ORCL')
  >>>cursor=con.cursor()
  >>>cursor.execute("select*from emp")
  <cx_Oracle.Cursor on<cx_Oracle.Connection to c##als770ud1 192.168.61.79:1521/ORCL>>
  >>>cursor.fetchall()
  [(1,'张三'),(2,'李四'),(3,'王五')]
  >>>

  制作Docker镜像


  创建Dockerfile
  touch Dockerfile
  #将oracle本地客户端文件夹移动到同一级目录


  cp-r/opt/instantclient_12_1/./
  Dockerfile
  FROM python:3.7
  ENV PIPURL"https://mirrors.aliyun.com/pypi/simple/"
  RUN pip install cx_Oracle--default-timeout=1000
  COPY instantclient_12_1/opt/instantclient_12_1
  ENV ORACLE_HOME=/opt/instantclient_12_1
  ENV TNS_ADMIN=$ORACLE_HOME/network/admin
  ENV NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
  ENV NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
  ENV LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
  ENV PATH=$ORACLE_HOME:$PATH
  RUN apt-get update
  RUN apt-get install-y libaio1

  镜像构建

  docker build-t xiaogp/python_oraqcle:v3.


  构建完成


  root ubuntu:~/docker/PYTHON_ORACLE#docker images
  REPOSITORY TAG IMAGE ID CREATED SIZE
  xiaogp/python_oraqcle v3 bb0100d9c3f5 39 seconds ago 1.1GB


  启动镜像测试一下


  root ubuntu:~/docker/PYTHON_ORACLE#docker run-it bb0100d9c3f5/bin/bash
  root fbff875ba4d5:/#python
  Python 3.7.9(default,Jan 12 2021,17:26:22)
  [GCC 8.3.0]on linux
  Type"help","copyright","credits"or"license"for more information.
  >>>import cx_Oracle as cx
  >>>con=cx.connect('username','password','xxx.xxx.xxx.xxx:1521/ORCL')
  >>>cursor=con.cursor()
  >>>cursor.execute("select*from emp")
  <cx_Oracle.Cursor on<cx_Oracle.Connection to c##als770ud1 192.168.61.79:1521/ORCL>>
  >>>cursor.fetchall()
  [(1,'张三'),(2,'李四'),(3,'王五')]


  启动镜像测试一下


  root ubuntu:~/docker/PYTHON_ORACLE#docker run-it bb0100d9c3f5/bin/bash
  root fbff875ba4d5:/#python
  Python 3.7.9(default,Jan 12 2021,17:26:22)
  [GCC 8.3.0]on linux
  Type"help","copyright","credits"or"license"for more information.
  >>>import cx_Oracle as cx
  >>>con=cx.connect('username','password','xxx.xxx.xxx.xxx:1521/ORCL')
  >>>cursor=con.cursor()
  >>>cursor.execute("select*from emp")
  <cx_Oracle.Cursor on<cx_Oracle.Connection to c##als770ud1 192.168.61.79:1521/ORCL>>
  >>>cursor.fetchall()
  [(1,'张三'),(2,'李四'),(3,'王五')]


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128847.html

相关文章

  • Python数据库连接并批量插入包括时长记载的实际操作

      文中关键阐述了Python数据库连接并批量插入包括时长记载的实际操作,文章内容紧扣主题进行详尽的基本介绍,具有很强的实用价值,需用的同学可以学习一下  序言  服务平台:  windows10.0  python3.8  oracle  mysql  目地  必须通过python建立模型,并把结论储存至SQL数据库系统中,其中还有某列数据信息为时长种类,在储存全过程碰到一些现象,现就处理方式整...

    89542767 评论0 收藏0
  • Docker简介、常用命令与实践(一)

    摘要:获取阿里云加速器地址进入登录阿里云进入后台配置加速器点击后就会重启并应用配置的镜像地址了检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行,如果从结果中看到了如下内容,说明配置成功。 一、为什么要使用Docker以及与虚拟机的区别? 1.1 为什么要使用Docker Docker的思想来自于集装箱。集装箱解决了什么问题?在一艘大船上,...

    Ocean 评论0 收藏0
  • Docker 个人用例

    摘要:避免我机器上可以运行无论是上一篇介绍的企业部署还是本文的个人用例,都提到了这个情况。如果你用的是,那么我给你一个建议从云主机提供商那儿租用一台云主机我推荐使用系统的云主机。在云服务提供商之间移植大多数的云主机提供商已经全面支持。 在上篇文章 8 个你可能不知道的 Docker 知识 中介绍了 Docker 在生产环境中的用例,有些开发者可能还是不明白 Docker 对自己到底有多...

    W4n9Hu1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<