Python远程连接服务器上的Oracle数据库
Python远程连接服务器上的Oracle数据库
1、正确的开启方式
在你的IPython或者是Anaconda的jupyter中输入一下代码,其中:
‘username’—— 用户名
‘password’——密码
‘192.168.1.1:1521/service_name’——IP/端口号/服务名称
import cx_Oracle conn = cx_Oracle.connect('username','password','192.168.1.1:1521/service_name')
如果以上代码不会报错,那么你应该是已经成功连接数据库了。而如果报错,检查一下是什么问题。
2、暴露问题
(1)cx_Oracle未安装
如果上位安装cx_Oracle包,可以在cmd状态下,到Python安装目录下,使用pip命令完成安装。
pip install cx_Oracle
(2)缺少instanctclient
如果本机没有安装Oracle数据库,又要通过Python访问远程服务器上的Oracle,那么需要在本机上安装instantclient。安装可以从Oracle官网获取安装包,如果没有账号可以自行注册。注册完成后可以免费获取不同版本的instantclient。下载地址:http://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html
比如要下载这个64位版本的,点进去,下载这个文件就可以了:
下载完成后,解压缩到相应的位置。完成以下几步:
(1)将解压缩文件的文件路径追加到PATH环境变量中
(2)在解压缩的文件夹下创建一个命名为‘ tnsnames.ora ’的文件
在文件中写入以下内容,根据实际情况修改HOST、SERVICE_NAME内容 orcl = 2. (DESCRIPTION = 3. (ADDRESS_LIST = 4. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 5. ) 6. (CONNECT_DATA = 7. (SERVER = DEDICATED) 8. (SERVICE_NAME = sys) 9. ) 10. )
(3)将解压的文件夹中的 oci.dll, oraocci12.dll,oraociei12.dll 拷贝到python安装目录下的lib/site-packages中
3、解决问题
再次尝试以下代码,应该就没有问题了。
import cx_Oracle 2. 3.conn=cx_Oracle.connect('user','password', '127.0.0.1:1521/database') 4.print('连接成功!') 5. 6.cursor = conn.cursor() 7. 8.sql=""" 9. select count(*) from table_a 10. 11. """ 12. 13.cursor.execute(sql) 14.alldata = cursor.fetchall() 15. 16.cursor.close() 17.conn.close() 原文地址
http://www.bieryun.com/3588.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
leetcode算法题解(Java版)-8-动态规划+状态压缩
一、树 题目描述 Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set toNULL. Initially, all next pointers are set toNULL. Note: You may only use constant extra space. You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children). For example,Given the following perfect bi...
- 下一篇
分布式爬虫很难吗?用Python写一个小白也能听懂的分布式知乎爬虫
前言 很早就有采集知乎用户数据的想法,要实现这个想法,需要写一个网络爬虫(Web Spider)。因为在学习 python,正好 python 写爬虫也是极好的选择,于是就写了一个基于 python 的网络爬虫。 几个月前写了爬虫的初版,后来因为一些原因,暂时搁置了下来,最近重新拾起这个想法。首先优化了代码的结构,然后在学弟的提醒下,从多线程改成了多进程,一台机器上运行一个爬虫程序,会启动几百个子进程加速抓取。 但是一台机器的性能是有极限的,所以后来我使用 MongoDB 和 Redis 搭建了一个主从结构的分布式爬取系统,来进一步加快抓取的速度。 然后我就去好几个服务器厂商申请免费的试用,比如百度云、腾讯云、Ucloud…… 加上自己的笔记本,断断续续抓取了一个多周,才采集到300万知乎用户数据。中间还跑坏了运行网站的云主机,还好 自动
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- 2048小游戏-低调大师作品