⑴ python连接oracle, cx_oracle装不上
你在使用cx_oracle的时候 再去import试试,不要在代码的最顶端import。另外你装cx_oracle 是通过什么方式装的,python目录下能找到这个库文件吗?
⑵ 如何不安装oracle软件,连接远程数据库
这是额前两周在网上翻资料纯手工整理的,本地不安装plsql链接远程数据库,保证原稿:
首先到Oracle网站下载Instant Client :
http://www.oracle.com/us/solutions/index-097480.html
1.解压之后的文件夹叫:instantclient_11_2.可以放在本地磁盘任意目录下.例如:D:/instantclient_11_2
在D:/instantclient_11_2目录下新建目录network,在network目录下再建admin目录,在admin目录下新建文件tnsnames.ora,打开写入如下内容:
2、配置tnsnames.ora文件,
如:
MOBILE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MOBILE)
)
)
这里根据自己的实际情况进行配置,第一个MOBILE是database名,SERVICE_NAME是服务器上数据库实例名
或
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.8.10 )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl )
)
)
其中ORCL是远程数据库在本地的主机名,10.6.8.10是远程服务器的IP地址,orcl是远程数据库的名称。
3.添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径。
通过(我的电脑--属性--高级--环境变量--新建)来新增环境变量。
(不一定有这个变量)
设置ORACLE的语言,添加环境变量(已装服务端的机器不需要配置)
命令行输入regedit进入注册表,一般在HKEY_LOCAL_MACHINE/DOFTWARE/ORACLE/HOME下添加字符串值
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或
设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
4、下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
Oracle Home
D:/instantclient_11_2
OCI library
D:/instantclient_11_2/oci.dll
配置完成后关闭PL/SQL ,再重启.
或者
下载并安装plsql,登录plsql
配置tools->preferences->connection
Oracle Home=E:\oraclient
OCI library=E:\oraclient\oci.dll
5.主机名就会出现在PL/SQL Developer的列表里,输入用户名密码,就可以登录远程oracle 数据库。
6.连接成功后有时候查询出来的数据会出现乱码的问题,这是因为本地的编码和服务器端编码不一致,这时候我们可以通过SQL语句:
select userenv('language') from al;
查询出服务器端的编码,如我自己的查询结果为
USERENV('LANGUAGE')
AMERICAN_AMERICA.ZHS16GBK
我们就需要添加一个环境变量NLS_LANG ,值为: AMERICAN_AMERICA.ZHS16GBK 然后重启PL/SQL就不会再有乱码问题了。
⑶ 如何在Python下连接Oracle数据库
本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:
一、首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。
二、安装:
首先配置oracle_home环境变量
执行那个exe安装程序就可以了,它会一个cx_Oracle.pyd到Libsite-packages目录下。
如果是linux,执行
python setup.py build
python setup.py install
三、执行一段测试程序:
import cx_Oracle
con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")
cursor = con.cursor()
cursor.close()
con.close()
里边connect中的3个参数从左到右分别是:user, pass, TNS。
那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。
四、具体的cx_Oracle API可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
五、示例:
>>> import cx_Oracle
>>> conn=cx_Oracle.connect ('scott/tiger@oratest')
>>> curs=conn.cursor ()
>>> sql='select * from emp'
>>> rr=curs.execute (sql)
>>> row=curs.fetchone()
>>> row
(7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20)
>>> while row:
(ID,NAME)=(row[0],row[1])
row=curs.fetchone ()
print ID,NAME
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 日常
7934 MILLER
如果使用windows平台,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:
① import cx_Oracle 时报告找不到OCI.DLL:
到装了Oracle的机器上找一个,然后到Libsite-packages目录下就可以了。
② cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)
ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;
希望本文所述对大家的Python程序设计有所帮助。
⑷ PYTHON链接ORACLE的问题
1、包括cx_Oracle、ODBC等工具都必须安装Oracle客户端。
2、不同Oracle版本需要用不同的包,cx_Oracle官网有各个版本的程序下载
⑸ 怎么远程连接oracle数据库
我会两种方法:一、使用第三方,下载instantclient_11_2二、配置如下,1.进入开始菜单-数据库-找到net manager-本地-服务命名-左上角添加-网络服务名(随意)-下一步-下一步-主机名:llocalhost-下一步服务名:要连接的数据库名(orcl),2.找到数据库的安装路径:D:\Oracle11g\proct\11.2.0\db_1\NETWORK\ADMIN\tnsnames.ora修改
网络服务名(随意) =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [输入另一个数据库所在的IP])(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL) /*要连接的数据库名(我是orcl)*/
)
)
⑹ 如何使用Python连接Oracle数据库
下载cx_Oracle,下载之后就可以使用了。
简单的使用流程如下:
1.引用模块cx_Oracle
2.连接数据库
3.获取cursor
4.使用cursor进行各种操作
5.关闭cursor
6.关闭连接
参考代码:
import cx_Oracle #引用模块cx_Oracle
conn=cx_Oracle.connect('load/123456@localhost/ora11g') #连接数据库
c=conn.cursor() #获取cursor
x=c.execute('select sysdate from al') #使用cursor进行各种操作
x.fetchone()
c.close() #关闭cursor
conn.close() #关闭连接
⑺ 如何远程连接oracle数据库
连接远程oracle数据库,首先网络要畅通,然后需要知道远程数据库的IP地址,数据库端口号,用户名,密码,数据库服务名等信息。
1、本地要安装oracle客户端,在如下路径找到tnsname.ora文件。~oracleproct10.2.0db_1 etworkADMIN
2、打开tnsname.ora文件。添加如下内容:
本地实例名=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=数据库IP地址)(PORT=端口号))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=服务名)
)
)
3、然后以第三方工具PL/SQL为例。选择正确的数据库及连接方式,填写正确的用户名和密码即可。
⑻ python3.6连接oracle
1、Python
为Python配置环境变量
2、setuptools
把页面上的代码一份保存为ez_setup.py
执行:D:\>ez_setup.py
为setuptools配置环境变量 !
⑼ 远程连接ORACLE数据库
远程连接的连接字符串可以这样写OleDbConnection 的连接字符串:provider=MSDAORA;host=192.168.1.1;data source=MyTest;user id=system;password=xxxprovider = MSDAORA; 指明oledb 的提供者是oracle数据库 host 是远程 oracle 数据库所在服务器的IP地址,如果端口不是默认的 1521,还要加上一个 Port=xxxx;data source 是要访问的 oracle 数据库的名字user id 和 password 就不说了。.NET Managed Provider for Oracle 的连接字符串:server=192.168.1.1;data source=MyTest;user id=system;password=xxx要能够成功运行上面代码,我们必须在代码运行的机器上安装 oracle 的客户端,否则会报The Oracle(tm) client and networking components were not found 这个错误。
⑽ 如何使用Python 自动执行连接ssh后并执行Oracle查询语句并返回查询结果
可以使用paramiko模块,这个模块就是python实现的高效ssh客户端,用它连接远程服务器后,就可以使用里面的函数来执行Oracle语句,返回结果可以保存为列表,然后打印出来就可以了,你可以尝试一下,这里就不给出具体的代码了。