用Python将文本文件导入sqlserver

2024-05-15 00:57:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个python脚本,它将对文本文件进行一些处理。作为该过程的一部分,我需要将制表符分隔的文件的每一行导入到本地mssqlserver(2008)表中。我使用的是pyodbc,我知道怎么做。然而,我有一个问题,关于执行它的最佳方式。在

我将在文件中循环,创建一个光标.执行(myInsertSQL)文件的每一行。是否有人在等待提交语句时发现任何问题,直到所有记录都被循环(即,在循环之后执行commit(),而不是在每次执行后在循环中执行)?我问的原因是有些文件将有5000行以上。我不知道如果试图“拯救他们”并一次性承诺5000美元是否会带来问题。在

我对python相当陌生,所以我还不知道所有这些问题。在

谢谢。在


Tags: 文件脚本过程方式记录原因语句制表符
2条回答

创建一个文件并使用BULK INSERT。这样会更快。在

如果我理解您在做什么,Python就不会是一个问题。在Python中,在事务内执行语句不会创建累积状态。它只在数据库服务器本身执行此操作。在

当您提交时,您将需要确保提交发生,因为大批量提交可能会与数据库中的中间更改发生冲突。如果提交失败,则必须重新运行批处理。在

对于大批量和Python/ODBC,这是我所知道的唯一问题(它甚至不是真正的Python问题,因为不管怎样都会有这个问题)

现在,如果您在内存中创建所有SQL,然后在内存表示中循环,这可能更有意义。不过,在一台现代机器上输入5000行文字,其实也没什么大不了的。如果您开始需要处理两个数量级以上的流程,您可能需要重新考虑您的流程。在

相关问题 更多 >

    热门问题