簡體   English   中英

使用Python將文本文件導入SQL Server

[英]Importing a text file into SQL Server in Python

我正在編寫一個python腳本,它將對文本文件進行一些處理。 作為該過程的一部分,我需要將制表符分隔文件的每一行導入到本地MS SQL Server(2008)表中。 我正在使用pyodbc,我知道該怎么做。 但是,我對執行它的最佳方法有疑問。

我將遍歷文件,為文件的每一行創建一個cursor.execute(myInsertSQL)。 是否有人在等待所有記錄循環之前等待提交語句有任何問題(即在循環后執行commit(),而不是在每個執行后在循環內執行)? 我問的原因是某些文件的行數最多為5000行。 我不知道嘗試“保存它們”並一次提交全部5000個是否會引起問題。

我對python相當陌生,所以我還不知道所有這些問題。

謝謝。

如果我了解您在做什么,Python就不會成為問題。 在事務內執行語句不會在Python中創建累積狀態。 它將僅在數據庫服務器本身上這樣做。

提交時,您將需要確認提交,因為批量提交可能與數據庫中發生的更改沖突。 如果提交失敗,則必須再次重新運行該批處理。

這是我在大批處理和Python / ODBC中唯一意識到的問題(而且它甚至不是Python問題,因為無論如何您都會遇到該問題。)

現在,如果要在內存中創建所有SQL,然后遍歷內存表示,那可能更有意義。 盡管如此,在一台現代機器上的5000行文本確實沒什么大不了的。 如果您開始需要多處理兩個數量級,則可能需要重新考慮您的過程。

創建一個文件並使用BULK INSERT 。它將更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM