ich möchte mit einem Script eine XML Datei auslesen und dann einige Daten daraus auf eine Datenbank schreiben.
Die Daten konnte ich schon herausfiltern nur mit dem Zugriff auf die Serverdatenbank gibt es ein Problem das ich nicht finde...ich programmiere leider erst seit 2 Tagen und hab darum nicht den Durchblick überall
vllt könnt ihr mir helfen?
Normal stehn bei User und PW natürlich meine Daten..
Code: Alles auswählen
import xml.dom.minidom as dom
import glob
import sys
import MySQLdb
connection = MySQLdb.connect(host="192.168.249.20", user="*****", passwd="*****", db="ov_new_movies")
cursor = connection.cursor()
print "---------"
print "XML-Files"
print "---------"
path = sys.argv[1] + sys.argv[2] + '.xml'
for file in glob.glob(path):
print '\n' + file
baum = dom.parse(file)
for eintrag in baum.firstChild.childNodes:
if eintrag.nodeName == "release":
mrelease = eintrag.nodeName
print "Release: " + eintrag.firstChild.data.strip()
if eintrag.nodeName == "year":
myear = eintrag.nodeName
print "Year: " + eintrag.firstChild.data.strip()
if eintrag.nodeName == "duration":
mduration = eintrag.nodeName
print "Duration: " + eintrag.firstChild.data.strip()
if eintrag.nodeName == "languages":
for knoten in eintrag.childNodes:
if knoten.nodeName == "language":
mlanguage = knoten.nodeName
print "language: " + knoten.getAttribute("name")
for knoten in knoten.childNodes:
if knoten.nodeName == "title":
mtitel = knoten.nodeName
print "Title: " + knoten.firstChild.data.strip()
if knoten.nodeName == "full":
mfull = knoten.nodeName
print "Full: " + knoten.firstChild.data.strip()
if knoten.nodeName == "credits":
for knoten in knoten.childNodes:
if knoten.nodeName == "item":
mitem = knoten.nodeName
print "Credits: " + knoten.firstChild.data.strip()
pass
pass
pass
pass
pass
pass
pass
if eintrag.nodeName == "assets":
for knoten in eintrag.childNodes:
if knoten.nodeName == "asset":
mname = knoten.nodeName
print "Name: " + knoten.getAttribute("name")
pass
daten = ((mtitel, mrelease, myear, mduration, mlanguage, mfull, mitem, mname))
cursor.executemany("INSERT INTO ov_new_movies VALUES(%s, %s, %s, %s, %s, %s, %s, %s)", daten)
Folgender Fehler kommt dann zu stande:
Code: Alles auswählen
pfruehwirth@NBJB:~/workspace/Test$ python Test /private/var/cache/cds/cds_inbox/ takingwoods
Traceback (most recent call last):
File "Test", line 6, in <module>
connection = MySQLdb.connect(host="192.168.249.20", user="root", passwd="Bhu89ol.", db="ov_new_movies")
File "/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.3-py2.6-linux-i686.egg/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.3-py2.6-linux-i686.egg/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1049, "Unknown database 'ov_new_movies'")