Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

grundlegende Pyodbc-Masseneinlage

Hier ist eine Funktion, die die Masseneinfügung in die SQL Server-Datenbank durchführen kann.

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()

Das funktioniert definitiv.

UPDATE:Ich habe in den Kommentaren sowie beim regelmäßigen Programmieren festgestellt, dass Pyodbc besser unterstützt wird als Pypyodbc.

NEUES UPDATE:conn.close() entfernen, da die with-Anweisung dies automatisch handhabt.