#sql-server #python-2.7
#sql-сервер #python-2.7
Вопрос:
Я пытаюсь вставить данные массива в таблицу sql server.
Таблица уже определена, и соединение работает нормально.
Мой текущий код :
assets=[]
for asset in array:
if "some condition":
assets.append(asset)
cursor = conn.cursor()
cursor.executemany('insert into [Traffilog_Data].[dbo].[getData] values
(%d,%d,%d,%s,%s,%f,%f,%d,%d,%d,%d,%s,%s,%f,%d,%s)', assets)
все %var соответствуют определению таблицы sql.
Я получаю результат
None
то же, что и простой запрос выбора
что я делаю не так?
Комментарии:
1. Well…do вы получаете сообщение об ошибке? Также при выполнении вставок вы должны назвать все столбцы. Если в вашей таблице будет добавлен новый столбец, ваш код завершится ошибкой.
2. Ошибка программирования: (102, «Неправильный синтаксис рядом с ‘d’.Сообщение об ошибке DB-Lib 20018, серьезность 15: общая ошибка SQL Server: проверка сообщений с SQL Server n»)
3. Ну, я ничего не знаю о python, но это даже близко не соответствует допустимому синтаксису sql server. Вы не можете передать массив и заставить sql server разделить его для вас. Вы должны указать каждый параметр по отдельности. Я предполагаю, что вам нужно передавать каждое значение, а не «активы».