как выполнить .sql-файл с использованием подключения pyodbc

#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. Спасибо за ответ, он работает для меня 🙂