1、进入网站https://oracle.github.io/odpi/doc/installation.html#macos下载Oracle Instant Client zip文件

2、根据网站上的安装步骤进行安装

mkdir -p /opt/oracle
说明:建立oracle文件夹。
参数:-p 确保目录名称存在,如果目录不存在就新创建备注:有可能提示permission denied,就输入sudo mkdir -p /opt/oracle
unzip instantclient-basic-macos.x64-12.2.0.1.0.zip
说明:解压下载的压缩包
备注:要将解压的文件放在oracle目录下,笨一点就像我一样直接拷贝进去mkdir ~/lib
通第一点 

3、配置环境变量open -e ~/.bash_profile或者vi ~/.bash_profile

export ORACLE_HOME=/opt/oracle/instantclient_11_2
export OCI_INCLUDE_DIR=/opt/oracle/instantclient_11_2
export OCI_LIB_DIR=/opt/oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/opt/oracle/instantclient_11_2

4、host配置open -e /etc/hosts或者vi /etc/hosts

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1 【自己电脑的hostname】 local

5、如有需要,去/opt/oracle/instantclient_11_2 下去编辑tnsnames.ora文件

REACH=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )))(CONNECT_DATA =  (SERVER = DEDICATED) (SERVICE_NAME = ))
)

6、pip安装cx_Oracle

pip install cx_Oracle

7、安装完成在终端尝试连接数据库,可以尝试打印结果,没有报错就连接成功了

》python3
>import cx_Oracle
>con= cx_Oracle.connect('用户名', '密码', 'your server name')
>curs=con.cursor()
>sql = '你的sql语句'
>sql_conn = curs.execute(sql)
>result = curs.fetchone()
>curs.close()
>con.close()

8、现在可以尝试去pycharm上连接数据了(将终端写的代码在pycharm上运行一遍)

cx_Oracle.DatabaseError: ORA-12154: TNS:could not resolve the connect identifier specified

在pycharm上运行会报错,我们来处理一下

9、打开界面右侧的“Database”,点击“+”按钮,选择“Oracle”

10、进入页面,点击“Download”选择要下载的文件(下载完成后文字会消失)

不知道是不是下载这个文件的原因,再次去看hostname会发生变化,需要及时更改hosts

11、输入自己oracle配置,点击“Test Connection”测试是否连接成功

转载于:https://www.cnblogs.com/CSgarcia/p/11308112.html

【python】MAC链接oracle相关推荐

  1. java sdk 1.7 for mac_java-如何使用适用于Mac的Oracle新的1.7 JDK运行Eclipse?

    java-如何使用适用于Mac的Oracle新的1.7 JDK运行Eclipse? 我正在尝试使新的1.7 JDK与Eclipse一起使用(这是Oracle的正式版本). 我并不是说仅将Eclipse ...

  2. jython mysql_Jython中链接Oracle数据库

    实际操作环境为:Eclipse+Pydev中使用Jython链接Oracle数据库.方法有二,如下所示.(注意:将要使用的.jar文件路径加入系统变量classpath中) 一: Note:使用ojd ...

  3. Python远程操作Oracle实现一键备份还原数据库演示,利用socket进行imp、exp一键导入导出oracle数据库dmp文件

    Python 远程操作 Oracle 进行数据库备份还原 第一章:效果演示 ① 数据库恢复演示 ② 请求模拟 第二章:功能实现 ① 创建启动服务 ② 处理解析请求 ③ 处理命令 ④ 服务端数据库操作 ...

  4. Python应用实战系列-如何通过Python来操作Oracle数据库:cx_Oracle

    最近需要将一批数据从csv文件中迁移到Oracle数据库中,打算用Python来实现,趁着这个机会,写一篇博客学习总结一些如何使用Python来操作Oracle数据库. 1 安装与导入 Python操 ...

  5. JDBC链接oracle已经mysql的测试

    1.链接oracle package cn.itcast.mybatis.dao; import java.sql.Connection; import java.sql.DriverManager; ...

  6. python从oracle提取数据库_[python] python 和远程oracle 数据库连接,select提取文件 环境搭建过程...

    2016.7.29 开始正式玩python,从听上去很恶心的垃圾.破烂.玩意开始,和sc部门公司那边对接取出来实时交易数据,给回测的大佬们用.汗吧,不仅大佬们没有用,一不小心本宫也越走越这么远~~~~ ...

  7. mybatis连接oracle12乱码,使用mybatis链接oracle数据库出现账号密码错误解决

    使用mybatis链接oracle数据库步骤 最近oracle老师布置下来了作业,要求使用传统的java代码链接oracle数据库做一个小程序,因为我已经很熟练的掌握了ssm框架的开发,以前用的是my ...

  8. oracle提交数据按键,Oracle PLSQL - 仅提交数据库链接(Oracle PLSQL - Commit only database link)...

    Oracle PLSQL - 仅提交数据库链接(Oracle PLSQL - Commit only database link) 有没有办法只通过数据库链接而不是当前会话的数据提交在表上插入/更新的 ...

  9. python cx_Oracle连接Oracle数据库查询

    python cx_Oracle连接Oracle数据库查询 代码 带参数查询 官方文档地址 代码 import cx_Oracle import pandas as pdsql = ''' SELEC ...

最新文章

  1. 开源代码hosting openfoundryfrom tw
  2. iphone屏蔽系统更新_iPhone手机经常提示更新系统,教你一招关闭方法,学到了
  3. C++题解-Leecode 318. 最大单词长度乘积——Leecode每日一题系列
  4. Sentinel 1.8.0 年度版本发布,熔断降级重构升级!
  5. 你离云计算还差一个云管平台(CMP)
  6. 计算机与信息专业综合试题,计算机与信息专业综合试题(有答案)适合事业单位考试...
  7. internal java compiler error_java字节码注入AOP作业心得
  8. 使用 XML 维护 Selenium 自动化测试脚本 ZT
  9. OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
  10. 100句自我激励的名言佳句
  11. QT实现界面多语言切换
  12. RT-Thread 应用笔记 - libmodbus RTU 编译问题的解决
  13. 常用十大免费建站程序介绍
  14. GitHub数据库榜单第一:Redis核心原理实践PDF,点赞已过百万+
  15. VS code 左侧菜单栏不见了/只能打开一个编辑页面
  16. Elasticsearch中聚合的解释及使用
  17. 如何查看linux系统中的进程和状态
  18. 1421. 净现值查询(SQL)
  19. scanline_p8
  20. 毫米波雷达人体存在感应,智能安防领域应用

热门文章

  1. 多元统计分析朱建平pdf_应用多元统计分析课后答案朱建平版[精心整理].doc
  2. java怎么输出liststring_春招|春招实习上岸,分享面筋回报社区(Java、Python)...
  3. android 10闪退如何解决,安卓Activity启动在10.0下闪退
  4. 异域linux内核漏洞,Linux内核再现漏洞!这次11年后才发现
  5. 正则分割 oracle,Oracle通过正则表达式分割字符串 REGEXP_SUBSTR
  6. java多线程_Java多线程
  7. c语言中堆栈_C语言编程中的堆栈
  8. python冒泡循环示例_Python循环示例–循环在python中
  9. 自主访问控制 强制访问控制_快速访问控制
  10. Java读取URL到字符串