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条评论来说两句吧...