pourquoi cx_Oracle et sqlplus donnent des résultats différents pour la même requête de sélection
Question
En utilisant Python et cx_Oracle, j'essaye d'insérer des lignes dans une table.
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()
Après avoir inséré toutes les lignes d'un fichier d'entrée, en utilisant la requête de sélection dans cx_Oracle, je peux voir les lignes insérées.Cependant, sqlplus ne donne aucun résultat lorsque j'entre "select * from table;" Y a-t-il quelque chose que j'ai manqué à propos de cx_Oracle ou y a-t-il un tampon dans le client oracle qui affiche les anciens résultats avec sqlplus lorsqu'il est connecté à une base de données distante?
La solution
Avez-vous validé votre insertion?
con.commit() #after inserts
ou
con.autocommit = true #before inserts
Autres conseils
J'ai eu un problème inversé: j'ai ajouté des lignes à l'aide de sqlquery et après 2 heures de souffrance, j'ai lu ce post et je suppose que je devrais fermer ma session.J'ai fermé la console et réussi à récupérer mes données!