Ich habe eine psycopg Verbindung:Wie kann ich eine Ergebnismenge von psycopg2 mit pyodbc in eine SQL-Tabelle einfügen?
conngre = psycopg2.connect("host='blah' port='blah' dbname='blah' user='blah' password='blah'")
conngre = conngre.cursor()
with open('exportgre', 'r') as selectexport:
var1 = selectexport.read()
conngre.execute(var1)
Dieses eine resultset nennt, die ich will, um dann mit Verbindung SQL Server vordefinierte Tabelle Dump in:
sqlconn = pyodbc.connect(r'DSN=d;UID=blah;PWD=blah')
cursql = sqlconn.cursor()
with open('importsql', 'r') as selectexport:
var2 = selectexport.read()
cursql.execute(var2)
Ist thier eine Möglichkeit, die Ergebnisse aus der zu übergeben erstes Ergebnis in eine Einfügung für die zweite Ergebnismenge gesetzt?
Ich habe lief nun den folgenden Code als Test, um diese vor der Verwendung meiner eigentlichen SQL zur Arbeit zu kommen:
import pyodbc
sqlconn = pyodbc.connect(r'DSN=d;UID=blah;PWD=blah')
cursql = sqlconn.cursor()
with cursql.execute("select * from blah.dbo.export_test"):
rows = cursql.fetchall()
for row in rows:
cursql.execute('insert into TouchStar.dbo.export_test values (?)', (row[0]))
print(row)
Allerdings scheint es, nur meine Daten überschreiben, die bereits in der Tabelle?
Muss ich irgendwie anhängen?
Können Sie ein Beispiel für die SQL-Abfragen angeben, die Sie in den Dateien 'exportgre' und' importsql' ausführen? Ich bin mir nicht sicher, wie sich die zwei Dateien, über die Sie sprechen, auf die Lösung des Problems beziehen. Wenn ich versuche, von einem PostreSQL zu lesen und auf SQL Server zu schreiben, wähle ich einfach die Zeilen aus PostgreSQL aus, führe eine Schleife darüber und füge das, was ich brauche, in SQL Server ein, ohne irgendwelche Dateien zu verwenden. Die PostgreSQL-'fetchmany'-Methode kann verwendet werden, um eine bestimmte Anzahl von Zeilen gleichzeitig zu erfassen und eine einzelne Einfügung unter Verwendung von SQL Server' executemany' zu erzeugen. – FlipperPA
Ich kann nicht wirklich die genauen Spalten als Firma empfindlich einschließen, aber die Tabellen sind für wie, aber haben eine Datum extrahierte Spalte am Anfang der sql Tabelle. –