Форум сайта python.su
self.conn = cx_Oracle.connect("%s/%s@%s:1521/%s" % (user,passwd,host,service))
cx_Oracle.DatabaseError: ORA-24315: illegal attribute type
SELECT * from v$version;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
"CORE 10.2.0.4.0 Production"
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Офлайн
не сильно знаком с ораклом, знаю только что tns кусок гавна)
а так не прокатит?
tns = cx_Oracle.makedsn(host, 1521, service)
db = cx_Oracle.connect(user, password, tns)
Офлайн
slav0nic
не сильно знаком с ораклом, знаю только что tns кусок гавна)
а так не прокатит?или ты с 11 клиента в 10 лезешь (хотя опять же не уверен, но вроде бы не выйдет)tns = cx_Oracle.makedsn(host, 1521, service)
db = cx_Oracle.connect(user, password, tns)
tns = cx_Oracle.makedsn(host,port,service)
self.conn = cx_Oracle.connect(user,passwd,tns)
cx_Oracle.DatabaseError: ORA-12505: TNS:listener does not currently know of SID
given in connect descriptor
Офлайн
vakЯ использую соединение в одном из 2-х форматов (сx_Oracle 5.0.4, Oracle 10.2.0.4):При попытке соединения вываливается ошибка:self.conn = cx_Oracle.connect("%s/%s@%s:1521/%s" % (user,passwd,host,service))Есть мысль что не правильный формат задания service_namecx_Oracle.DatabaseError: ORA-24315: illegal attribute type
connection = cx_Oracle.connect("user/password@TNS")
connection = cx_Oracle.connect("user", "password", "TNS")
Отредактировано (Июль 25, 2011 09:06:18)
Офлайн
strannik747А что такое TNS?
где TNS задается в файле network/admin/tnsnames.ora.
Проверьте прежде всего, что содержится в файле tnsnames.ora: если там всё правильно, что должно соединяться через sqlplus.exe в консольном режиме.
Офлайн
vakЯ так понимаю, что TNS - это средство конфигурирования доступа к БД в Oracle (подробнее лучше спросить у вашего админа оракла или погуглить), чтобы можно было использовать одно имя, а не кучу параметров.
А что такое TNS?
Соединение проверял через sqldeveloper - работает! Как через cx_Oracle - уже подзапутался.
DB_APP1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sun1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = AXAPTA)
)
)
DB_APP2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.XX.XX.XX)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB12)
)
)
Офлайн
DSN - есть в описании cx_Oracle (http://cx-oracle.sourceforge.net/html/module.html).
dsn = cx_Oracle.makedsn(host,port,sid)
conn = cx_Oracle.connect(user,passwd,dsn)
Офлайн
Вопрос снят. Проблема была в клиенте oracle: отсутствовали dll, не было нужных системных переменных и пр.
Офлайн