#python #python-3.x #pyodbc #pysqlite
#python #python-3.x #pyodbc #пысклит
Вопрос:
У меня есть папка, которая содержит SQL-файлы. Я хочу выполнить все эти SQL-файлы, используя pyodbc
соединение.
Я пробовал разные способы, но я все еще сталкиваюсь с некоторыми проблемами. Мой код выглядит так, как показано ниже.
import os
import pyodbc
conn = pyodbc.connect('Driver=ODBC Driver 17 for SQL Server;'
'Server=SIS10647MSSQLSERVER14;'
'Database=LeelaVenkatesh;'
'Trusted_Connection=yes;')
inputdir = 'C:SCMpyodbc'
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()
Ошибка, которую я получаю, выглядит следующим образом
Ошибка атрибута: объект ‘list’ не имеет атрибута ‘split’
Ответ №1:
Не используйте readlines
, используйте read
. read
выводит весь файл в виде одной строки, поэтому вы можете разделить его на точки с запятой. readlines
разбивает файл на строки и возвращает список строк.
Комментарии:
1. Спасибо за ответ, он работает для меня 🙂