Это мой код ниже, и я пытаюсь загрузить данные из одной базы данных в другую.Я считаю, что все работает нормально, но возникает ошибка, и я не знаю, что это значит.
import pymssql, psycopg2
class Datenbankabfrage:
def __init__(self):
self.conn1 = pymssql.connect(host='***', user='***', password='***', database='****')
self.conn2 = psycopg2.connect("dbname='****' user='****' host='****' password='****'")
self.cur1 = self.conn1.cursor()
self.cur2 = self.conn2.cursor()
def abfrage(self):
self.cur1.execute("SELECT tag, site, plant, unit, line, ProcessID AS pid, Count(ReadTime) AS mods \
FROM ( \
select dateadd(dd, -1, convert(varchar, getDate(),111)) \
as tag, ReadTime, processID, subid, PR.Site, PR.Plant, PR.Unit, PR.Line \
from FactBarcodeReading BCR with(nolock) \
inner join DimProcess PR on BCR.ProcessKey = PR.ProcessKey \
where PR.ProcessID IN (802, 1190, 1800, 3090, 3590, 4390, 4590, 4800, 5000, 5400, 4190) \
and ReadTime between dateadd(dd, -1, convert(varchar, getDate(),111)) \
and dateadd(dd, -0, convert(varchar, getDate(),111)) \
) a \
GROUP BY tag, site, plant, unit, line, ProcessID \
ORDER BY site, plant, unit, line, ProcessID")
self.rows = self.cur1.fetchall()
query = ("INSERT INTO '20091229global' (proddate, site, plant, unit, line, pid, mods) VALUES (?, ?, ?, ?, ?, ?, ?)", self.rows)
self.cur2.executemany(query)
self.conn2.commit()
self.conn2.close()
a = Datenbankabfrage()
a.abfrage()
Это ошибка:
Traceback (most recent call last):
File "C:\Documents and Settings\FS107319\My Documents\Python\mssql_abfrage.py", line 39, in <module>
a.abfrage()
File "C:\Documents and Settings\FS107319\My Documents\Python\mssql_abfrage.py", line 30, in abfrage
self.cur2.executemany(query)
TypeError: Required argument 'vars_list' (pos 2) not found
------------------------------------------------------------------------
Хорошо, вот мое редактирование:
Теперь это мой новый код
query("INSERT INTO '20091229global' (proddate, site, plant, unit, line, pid, mods) VALUES ('?', '?', '?', '?', '?', '?', '?')")
self.cur2.execute(query, self.rows)
извините, ошибка до того, как произошла, была неправильной, потому что я забыл "=" за запросом, который является настоящей ошибкой
Traceback (most recent call last):
File "C:\Documents and Settings\FS107319\My Documents\Python\mssql_abfrage.py", line 39, in <module>
a.abfrage()
File "C:\Documents and Settings\FS107319\My Documents\Python\mssql_abfrage.py", line 30, in abfrage
self.cur2.execute(query, self.rows)
ProgrammingError: FEHLER: Syntaxfehler bei »'20091229global'«
LINE 1: INSERT INTO '20091229global' (proddate, site, plant, unit, l...