Hier is een functie die het bulksgewijs invoegen in de SQL Server-database kan doen.
import pyodbc
import contextlib
def bulk_insert(table_name, file_path):
string = "BULK INSERT {} FROM '{}' (WITH FORMAT = 'CSV');"
with contextlib.closing(pyodbc.connect("MYCONN")) as conn:
with contextlib.closing(conn.cursor()) as cursor:
cursor.execute(string.format(table_name, file_path))
conn.commit()
Dit werkt zeker.
BIJWERKEN:Ik heb bij de opmerkingen opgemerkt, evenals bij het regelmatig coderen, dat pyodbc beter wordt ondersteund dan pypyodbc.
NIEUWE UPDATE:verwijder conn.close() aangezien de instructie met dat automatisch afhandelt.