Я знаю, что этот вопрос задавали раньше, я уже просмотрел здесь< /а>. Я использовал SET NOCOUNT ON в SQL-запросе, но он выдает ошибку. Решил опубликовать здесь свой код, чтобы его можно было хорошо просмотреть. Кто-нибудь может мне с этим помочь?
@property
def sqlquery(self):
retry_flag = True
retry_count = 0
conn = pyodbc.connect("Driver={SQL Server};"
"Server=server1;"
"Database=db1;"
"Trusted_Connection=yes;")
cursor = conn.cursor()
while retry_flag and retry_count < 10:
try:
cursor.execute('''
SET NOCOUNT ON;
SELECT * FROM xx.y
WHERE y = '%s'
AND a = '%s'
AND b = '%s'
AND c = '%s'
AND d = '%s' ''' % (1stplaceholder, 2nd, 3rd, 4th, 5th))
retry_flag = False
except:
print("Retry after 1 sec")
retry_count = retry_count + 1
time.sleep(1)
for row in cursor:
if cursor is None:
return False
else:
return row[19]
conn.close()
Я также упомянул этот вопрос, поскольку я получение ошибки pyodbc.Error: ('01000', '[01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionRead (recv()). (10054) (SQLExecDirectW)')
У меня есть 3 sql-запроса, подобных этому, в моем скрипте, и после выполнения почти 10 000 итераций он выдал ошибку pyodbc.ProgrammingError: No results. Предыдущий SQL не был запросом. Таким образом, SQL-запросы в порядке, равно как и подключение к базе данных.
SET NOCOUNT ON
. - person Gordon Linoff   schedule 03.08.2018SET NOCOUNT ON
, и когда я столкнулся с ошибкой pyodbc.ProgrammingError: No results. Предыдущий SQL не был запросом ранее, после этого я использовалSET NOCOUNT ON
- person Karan M   schedule 03.08.2018