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

标签 python python-3.x pyodbc pysqlite

我有一个包含 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 将文件拆分为行,并返回行列表。

关于python - 如何使用 pyodbc 连接执行 .sql 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65211705/

相关文章:

python - 这个 Python 装饰函数的逻辑执行顺序是什么?

python - 我需要在 Python 中关闭 urllib.request.urlopen 连接吗?

python-3.x - Python 3 - 将自定义 header 添加到 urllib.request 请求

python - 使用 pyodbc 创建列 - 不工作

python - 无法安装 Pandas (错误 : Cannot uninstall 'numpy' )

python - 如何使用 Sympy 进行向量的点/叉乘

python-3.x - 来自同一节点的 pygraphviz 多条边在 Mac OS X 上不起作用

python-3.x - 如何对齐 pandas 中的输出

Python-无法打开库 'libtdsodbc.so' : file not found

python - pyodbc变量查询