나는 현재 Python을 사용하여 여러 SQL 파일을 실행하는 스크립트를 작성하고있다. 이것은 스크립트를 자동화하는 것이며 파이썬은 우리의 windows 2008 서버에있는 유일한 도구입니다. 하나의 세트에서 작동하는 스크립트가 있지만 문제는 다른 세트가 ';' 여기 내 코드는 다음과 같습니다.여러 개의 명령문을 ";"으로 분리하여 SQL 파일을 실행하십시오. pyodbc를 사용하여
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!')
이 코드는 전체 파일을 표시하지만 ";"앞에 하나의 명령문 만 실행합니다.
도움이 될 것입니다.
감사합니다.
많은 SQL API는 단일 통화에 여러 구문을 허용하지 않습니다. 왜 그냥 별도의'cursor.execute()'호출로 실행하지 않을까요? – Barmar