如何使用 pyodbc 连接执行 .sql 文件

how to execute .sql file using pyodbc connection

我有一个包含 SQL 个文件的文件夹。我想使用 pyodbc 连接执行所有这些 SQL 文件。

我尝试了不同的方法,但我仍然面临一些问题。我的代码如下所示。

import os
import pyodbc

conn =  pyodbc.connect('Driver=ODBC Driver 17 for SQL Server;'
                      'Server=SIS10647\MSSQLSERVER14;'
                      'Database=LeelaVenkatesh;'
                      'Trusted_Connection=yes;')


inputdir = 'C:\SCM\pyodbc'

for script in os.listdir(inputdir):
    with open(inputdir+'\' + script,'r') as inserts:
        sqlScript = inserts.readlines()
        for statement in sqlScript.split(';'):
            with conn.cursor() as cur:
                cur.execute(statement)
    print(script)

conn.close()

我得到的错误如下

AttributeError: 'list' object has no attribute 'split'

不要使用 readlines,请使用 readread 将整个文件作为一个字符串引入,因此您可以将其拆分为分号。 readlines 将文件分成几行,returns 一个行列表。