sql >> Database >  >> RDS >> Sqlserver

basic pyodbc bulk insert

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.



  1. Buitenlandse sleutel laten vallen zonder de naam van de beperking te kennen?

  2. CURRENT_TIMESTAMP Voorbeelden in SQL Server (T-SQL)

  3. Kan niet decoderen met pgcrypto van AES-256-CBC, maar AES-128-CBC is OK

  4. 19.3 VOB Sluiten ORA-65107 ORA-16078