Невозможно выполнить массовую вставку данных с помощью запроса python pyodb c - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь вставить данные из .csv в SQL таблицу БД сервера. Следующий запрос прекрасно работает при выполнении в SSMS:

BULK INSERT dbo.Technical_Indicators_Regime_Work_SP500_Constituents_Daily_New 
FROM 'C:\Users\krakowi\Desktop\S&P_Weights_FactSet_reformatted.csv' 
WITH (FIELDTERMINATOR = ';')

Я думал, что подобное можно легко перевести на следующий код:

def load_csv(load_sql):
    '''
    This function will load table from csv file according to
    the load SQL statement through ODBC
    '''
    try:
        cnxn = pyodbc.connect('Driver={SQL Server};'
                              'Server=localhost\SQLEXPRESS;'
                              'Database=test;'
                              'Trusted_Connection=yes;')
        cursor = cnxn.cursor()
        # Execute SQL Load Statement
        cursor.execute(load_sql)
        print('Loading table completed successfully.')
        cnxn.close()

    except Exception as e:
        print("Error: {}".format(str(e)))



# Execution
load_sql = "BULK INSERT dbo.Technical_Indicators_Regime_Work_SP500_Constituents_Daily_New FROM 'C:\\Users\\krakowi\\Desktop\\S&P_Weights_FactSet_reformatted.csv' WITH(FIELDTERMINATOR = ';')"

load_csv(load_sql)

Но, к сожалению, ничего не происходит (записи не вставлены) , хотя он говорит, что завершено без каких-либо ошибок. Что я делаю не так?

...