почему cx_Oracle и sqlplus дают разные результаты для одного и того же запроса select - PullRequest
0 голосов
/ 04 мая 2011

Используя Python и cx_Oracle, я пытаюсь вставить строки в таблицу.

con = cx_Oracle.connect(ORACLE_USER+'/'+PASS+'@'+TNS)
cursor = con.cursor()
...
try:
    cursor.executemany("INSERT INTO table(ID,NAME) VALUES(...)"
except cx_Oracle,exc:
    error ,=exc.args
    print error.code
    print error.message
cursor.close()
con.close()

После вставки всех строк из входного файла с помощью запроса select в cx_Oracle я вижу вставленные строки. Однако sqlplus не дает результатов, когда я ввожу «select * from table»; Есть ли что-то, что я упустил в cx_Oracle или есть буфер в клиенте oracle, который показывает старые результаты с sqlplus, когда он подключен к удаленной базе данных?

Ответы [ 2 ]

4 голосов
/ 04 мая 2011

Вы совершили вставку?

con.commit() #after inserts

или

con.autocommit = true #before inserts
0 голосов
/ 28 февраля 2012

У меня была перевернутая проблема: я добавил строки, используя sqlquery, и после 2 часов страданий прочитал этот пост и предположил, что мне следует закрыть сеанс. Я закрыл консоль и смог получить свои данные!

...