我有一個psycopg連接:如何使用pyodbc將psycopg2的結果集插入到SQL表中?
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)
這就要求,我想,然後轉儲到SQL Server的預定義的表連接一個結果:
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)
是thier的方式來傳遞從結果第一個結果集插入第二個結果集的插入?
我現在已經跑了下面的代碼作爲測試,以得到這個用我的實際的SQL前工作:
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)
但是它似乎只是簡單地覆蓋我的數據是已經在表中?
我需要追加嗎?
您可以包含您在'exportgre'和'importsql'文件中運行的SQL查詢的示例嗎?我不確定你說的兩個文件是如何解決問題的。如果我試圖從PostreSQL讀取數據並寫入SQL Server,我只需從PostgreSQL中選擇行,循環它們,然後在不使用任何文件的情況下將所需內容插入到SQL Server中。 PostgreSQL'fetchmany'方法可以用來一次獲取一定數量的行,並使用SQL Server'executemany'生成一個單獨的插入。 – FlipperPA
我真的不能包括確切的列作爲公司敏感,但表格是喜歡喜歡的,但將有一個日期提取列在sql表的開始。 –