Nun möchte ich die Befehle für sqlite3 übernehmen. Als erstes habe ich die ganzen unnötigen Kommentare entfernt. Dann habe ich due datei eingelesen und die unnötigen Zeilenumbrüche entfernt. Anschließend habe ich alle zeieln zu einem String zusammen gefügt. Es gibt nur Syntax Error udn ich weiß nicht warum. Habt ihr vieleicht eine Idee, was ich machen kann?
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from sqlite3 import dbapi2 as sqlite
liste = []
f = open("script.sql", "r")
line = f.readlines()
for x in line:
x.rstrip('\n')
liste.append(x[:-1])
table = ""
for e in liste:
table += e
table += " "
print table
dbName = "testDB.sqlite"
con = sqlite.connect(dbName)
cur = con.cursor()
cur.execute(table)
Mit freundlichen Grüßen
schaf220
Zuletzt geändert von Schaf220 am Freitag 14. Januar 2011, 17:37, insgesamt 2-mal geändert.
Hui... der Code sieht teilweise abenteuerlich aus!
1.) Ist das nicht ein MySQL Dump? Wenn ja kann es ja durchaus sein, dass SQLite in einigen Dingen eine andere Syntax besitzt und es daran scheitert?
2.) Welcher Fehler kommt denn genau?
3.) In dem Paste scheint das Encoding nicht zu stimmen!
4.) Du willst nicht wirklich zig SQL-Befehler mit einem execute() ausführen; lies Dir dazu doch noch mal die Doku duch.
5.) Wieso eigentlich muss man das mit Python machen; die paar Tabellen würde ich doch manuell extrahieren und entsprechend einfügen; selbiges gilt für die wenigen Datensätze.
Nein das geht so nicht, Sqlite kennt weder das set, noch Engines. Du kannst das erst ausfuehren, wenn das (das von sqlite unterstuetzte Subset von) Standard-SQL ist.