首先感谢各位大神!小弟刚学python和oracle,现在遇到了一些问题,希望大神们帮忙看 一下。
背景:现在有服务器A(在外地),本地用pl/sql远程访问服务器.
tnsnames.ora配置文件有如下一条:
AAAAA=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BBBBB)
)
)
pl/sql的登录AAAAA数据库的帐号为:111111,密码为222222
我现在用Python+cx_oracle访问,建立连接如下:
# encoding:utf-8
import cx_Oracle
oracle_db = cx_Oracle.connect('111111','222222',' xxx.xxx.xxx.xxx:1521/BBBBB')
引入数据库包没有问题,即import cx_Oracle这行语句没有问题,已经测试过,就是建立连接时报以下错误:
DatabaseError: ORA-06401: NETCMN.....(后面是GBK内码,我翻译了一下,大概是无驱动程序什么的)
在网上找了很多,未果,请各位帮忙看看啦!
先谢过!
------解决思路----------------------
不会python,不过看你下面的语句:
oracle_db = cx_Oracle.connect('111111','222222',' xxx.xxx.xxx.xxx:1521/BBBBB')
感觉可以各试一下:
1.xxx.xxx.xxx.xxx前面多一个空格
2.把BBBBB改成AAAAA
------解决思路----------------------
oracle_db = cx_Oracle.connect('111111','222222',' xxx.xxx.xxx.xxx:1521/BBBBB')
改成
oracle_db = cx_Oracle.connect('user/password@AAAAA')