Đây là một hàm có thể thực hiện việc chèn hàng loạt vào cơ sở dữ liệu SQL Server.
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()
Điều này chắc chắn hoạt động.
CẬP NHẬT:Tôi đã nhận thấy tại các bình luận, cũng như thường xuyên viết mã, rằng pyodbc được hỗ trợ tốt hơn pypyodbc.
CẬP NHẬT MỚI:loại bỏ conn.close () vì câu lệnh with tự động xử lý.