cx_Oracle hasst mich
Verfasst: Mittwoch 22. April 2020, 07:37
Hallo,
ich habe ein kleines Programm in Python geschireben das sich mit einer Datenbank verbinden soll.
Es erhält die Zugangsdaten von einem Shellskript und sollte damit den connect durchführen - tut es aber nicht.
Das Shellskript liefert drei durch Leerzeichen getrennte Werte zurück. Der dritte ist ein Alias in meiner tnsnames.ora.
Ich kann das Programm ausführen oder interaktiv die einzelnen Schritte durchführen...an der Stelle des cx_Oracle.connect erhalte ich den Fehler:
Der connect funktioniert, wenn statt der Variable connect_string der Wert verwendet wird.
Der connect liefert den gleichen Fehler, wenn als Wert 'user/pass@db' verwendet wird.
Biite, was mache ich hier falsch? Mit der dringenden höflichen Bitte um Erhellung.
Vielen Dank im voraus.
Nachtrag: Möglicherweise passt das subforum "Datenbankprogrammierung mit Python" besser. Bitte gegebenenfalls verschieben.
ich habe ein kleines Programm in Python geschireben das sich mit einer Datenbank verbinden soll.
Es erhält die Zugangsdaten von einem Shellskript und sollte damit den connect durchführen - tut es aber nicht.
Code: Alles auswählen
#!/bin/python
import cx_Oracle
import os
import subprocess
credentials = subprocess.Popen(['./db.sh'], stdout=subprocess.PIPE)
credentials = credentials.communicate()[0]
credentials = credentials.split(" ")
print "user: " + credentials[0]
print "pass: " + credentials[1]
print "tnsa: " + credentials[2]
connect_string=credentials[0]+"/"+credentials[1]+"@"+credentials[2]
print "conn: " + connect_string
orcl = cx_Oracle.connect(connect_string)
curs = orcl.cursor()
sql="select * from global_name"
curs.execute(sql)
curs.execute('commit')
#orcl.commit()
orcl.close()
Ich kann das Programm ausführen oder interaktiv die einzelnen Schritte durchführen...an der Stelle des cx_Oracle.connect erhalte ich den Fehler:
Code: Alles auswählen
orcl = cx_Oracle.connect(connect_string)
cx_Oracle.DatabaseError: ORA-12154: TNS:could not resolve the connect identifier specified
Der connect liefert den gleichen Fehler, wenn als Wert 'user/pass@db' verwendet wird.
Biite, was mache ich hier falsch? Mit der dringenden höflichen Bitte um Erhellung.
Vielen Dank im voraus.
Nachtrag: Möglicherweise passt das subforum "Datenbankprogrammierung mit Python" besser. Bitte gegebenenfalls verschieben.