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.