小编Nin*_*y12的帖子

执行SQL文件,其中多个语句以";"分隔 使用pyodbc

我目前正在编写一个脚本来使用Python运行多个SQL文件,在您提到替代方法之前有一些背景知识; 这是自动化脚本,Python是我在Windows 2008服务器上使用的唯一工具.我有一个适用于一组的脚本,但问题是当另一组有两个语句而不是一个由';'分隔时 这是我的代码:

import os
import pyodbc

print ("Connecting via ODBC")

conn = pyodbc.connect('DSN=dsn', autocommit=True)

print ("Connected!\n")

 inputdir = 'C:\\path'
cursor = conn.cursor()

for script in os.listdir(inputdir):

   with open(inputdir+'\\' + script,'r') as inserts:

       sqlScript = inserts.readlines()

       sql = (" ".join(sqlScript))

       cursor.execute(sql)

       print (script)

conn.close()

print ('Run Complete!')
Run Code Online (Sandbox Code Playgroud)

所以这段代码可以显示整个文件,但它只在";"之前执行一条语句.

任何帮助都会很棒!

谢谢.

python pyodbc netezza

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

netezza ×1

pyodbc ×1

python ×1