Я использую Python для преобразования файла CSV в базу данных MS SQL.Данные представляют собой SQL Graph, который состоит из одной таблицы узлов и одной таблицы ребер.
Нет проблем с вставкой данных pymssql в таблицу узлов.Я создал таблицу узлов с именем Nodes и использовал следующую команду:
sql_insert = "INSERT INTO Nodes(SourceID, PROPERTYTYPE, GEOCOORD_Y, GEOCOORD_X, OTHER_JSON) VALUES (%s, %s, %s, %s, %s)"
cursor.executemany(sql_insert, sql_command_generator(distribution,"Distribution"))
conn.commit()
sql_command_generator (дистрибутив, "Distribution"), по сути, генерирует список кортежей, который помещается в заполнитель и работает хорошо.
Когда я использую подобный код для вставки записей в таблицу ребер, всегда возникает следующая ошибка:
ProgrammingError: (102, b "Неверный синтаксис рядом с сообщением об ошибке VAUES. Ошибка DB-Lib 20018, серьезность15: \ nОбщая ошибка SQL Server: проверка сообщений от SQL Server \ n ")
Для пограничной таблицы я использовал следующий код:
cursor = conn.cursor()
sql_insert = "INSERT INTO FORWARD VALUES (?, ?)"
cursor.executemany(sql_insert, sql_command_edge_generator(edge))
conn.commit()
sql_command_edge_generator (edge) выводит следующее(список кортежей):
[('SELECT $node_id FROM Nodes WHERE SourceID = 10619',
'SELECT $node_id FROM Nodes WHERE SourceID = 5012650'),
('SELECT $node_id FROM Nodes WHERE SourceID = 14301395',
'SELECT $node_id FROM Nodes WHERE SourceID = 241A')]
Кто-нибудь сталкивался с использованием команды pymssql cursor.executemany для вставки нескольких записей в таблицу граничного графа?Большое спасибо за вашу помощь