Python 连接 Oracle 数据库
各位好,小弟我遇到一个问题,我试着用Python从我的Linux上去连接一台远程的Oracle数据库服务器,然后在网上找了一个叫做cx_Oracle的一个lib,可在我执行setup程序的时候报了一个错:
Traceback (most recent call last):
File "setup.py", line 123, in ?
raise DistutilsSetupError("cannot locate an Oracle software " \
distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation
我顿时傻眼了,怎么还要我在本地装有Oracle吗?我心想应该不会有这种限制丫,有那位大虾可以告诉我怎么解决这个问题?
谢谢。
本地要装Oracle Client
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
可是。我比较纳闷的是为什么JDBC连接的时候不需要instantclient呢?
你应该先搞一搞oracle最基础的东西,比如oracle net。
如果经OCI去连oracle server的,要用instant client。而thin client就不需要。所以JDBC OCI 也要用instant client。而JDBC thin drivers ,就不需要(应该是通过socket)
是这样的. 你得在本地安装cx_Oracle 客服端..
我们公司服务器上装的是10G ,
我本地装的是cx_Oracle-5.0.2-10g.win32-py2.5.msi.
到官网去下一个吧, 对应你要连的服务器Oracle版本以及你本机Python版本.
多谢各位解答,看来归根结底还是Oracle太弱。
相关问答:
各大老师好,请教一个问题.
我设置了一个oracle字段,varchar(3000),然后插入一条数据长度才1000,就报错了.如:net.sf.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
Caused ......
本来要写个update语句
update table_a A
set A.flag=1
where A.id in (select B.id from table_b B)
结果误写成
update table_a A
set A.flag=1
where ......
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
然後按回車鍵 說明: user/password@dbname 分別表示用戶名,密碼和服務名 f ......
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......