Сбой обновления SQL - pyodbc - informix - PullRequest
0 голосов
/ 24 сентября 2011

Обновления базы данных Informix с помощью скрипта Python с использованием pyodbc молча завершаются неудачей.

Я использую синтаксис, предоставленный в вики Pyodbc, и пробовал ручную фиксацию, а также автокоммит

   cursor= conn.cursor()
   cursor.execute("update eqpt set notes='BOB' where serialno='SAM'") 
   conn.commit()
   conn.close() 

Я также опубликовал этот вопрос в группе pyodbc, но, к сожалению, не получил ответа.

1 Ответ

1 голос
/ 28 сентября 2011

Две идеи:

  1. Проверьте, сколько записей было изменено (восстановлено на execute()), и сколько записей следует изменить (используя SELECT count(*) ... WHERE...:

    cursor= conn.cursor()
    
    rs = c.execute("SELECT count(*) FROM eqpt WHERE serialno='SAM'")
    for txt in c.fetchall():
        print('before %s' % (txt[0]))
    
    rows_affected = cursor.execute("update eqpt set notes='BOB' where serialno='SAM'") 
    print('rows_affected: %d' % (rows_affected))
    
    rs = c.execute("SELECT count(*) FROM eqpt WHERE serialno='SAM'")
    for txt in c.fetchall():
        print('after %s' % (txt[0]))
    
    conn.commit()
    conn.close() 
    
  2. Вы можете включить трассировку ODBC и проверить, что возвращается драйвером ODBC.

...