У меня есть хранимая процедура, которая работает 100% при запуске с сервера Sql. Он обновляет не менее 5 разных таблиц. Когда я запускаю его из Python, он обновляет только первые две таблицы. Не заполняется на остальных таблицах. Прошедшие параметры точно такие же, как и непосредственно с сервера sql. С каждым тестом данные сбрасываются до общей начальной точки. Кто-нибудь сталкивался с этой проблемой с выполнением Python хранимых процедур? Я использую Python 3.5 и Pyodbc менее чем месяц назад, клиент и сервер Sql 2012 на окнах. Это не проблема фиксации, потому что первые две таблицы обновляются/совершаются. Заявление sql, с которым он не справляется, вовсе не является сложным. Я угадываю какое-то ограничение, например, время или только обновление столько таблиц с помощью данного вызова sql? Мой следующий шаг - сделать каждый шаг из Python в качестве отдельных шагов, а не из одного сделать все, что хранится в Proc, чтобы увидеть, есть ли у меня какие-то различия, но я надеюсь не делать этого.Python, использующий Pyodbc, подключающийся к Sql 2012, вызывающий хранимую процедуру
str_rs_SqlCommand = "{call dbo.usp_LaborLogBatchPerson ('Test User', '1')}" ### Passes parameters to the stored procedure
print (str_rs_SqlCommand)
obj_dbc_Connection2 = pyodbc.connect("DRIVER={SQL Server} " + " ;SERVER=" + str_dbc_ServerName + " ;DATABASE=" + str_dbc_Name + " ;UID=" + str_dbc_Uid + " ;PWD=" + str_dbc_Pwd + "" + "") #;autocommit=True #tried with and without autocommit
conn = obj_dbc_Connection2.cursor() ### Create a cursor for the sql connection
conn.execute(str_rs_SqlCommand)
conn.commit()
obj_dbc_Connection2.close
Без предоставления какого-либо кода Я не уверен, какая помощь вам нужна ожидая ... – Nicarus
Код запускается из командной строки, а не из Интернета, поэтому не должно быть проблем с тайм-аутом, насколько я знаком с этими технологиями, работающими вместе. Пожалуйста, дайте мне знать, если кто-то столкнулся с проблемой времени при запуске из командной строки. –
Какой код полезен? Хранимая процедура с кучей вставок/обновлений. Я сказал, что proc работает правильно при запуске с сервера Sql. Поэтому разница заключается в том, что он запускается с Python через pyodbc. –