I experience this problem while i was working with sqldeveloper (which downloaded from oracle homepage). I connect to a database, execute some “insert query” (insert into TABLE values……), then sqldeveloper said that all the records are successfully inserted. I check back to the table, refresh the table, and i saw that the records I previously inserted are there. So I assume everything is okay. I close the sqldeveloper (i don’t remember whether I disconnected from the database before I close the sqldeveloper, or not).

As i mentioned on the title, the next time I open the table via the same sqldeveloper, the previous inserted records are gone. I don’t know, maybe it’s because i was using the query executer. But here’s what I do to solve the missing records inserted via sql developers’ query executer:

  1. Input query via sqldevelopers’ query executer.
  2. Check the table to make sure the records are successfully inserted.
  3. If so, then I disconnect from the database.
  4. Then reconnect again to the database or exit the sqldeveloper.

It seems to be that the sqldeveloper commit to the database when it’s disconnected from the database. I assume, when the records are claimed to be successfully inserted, sqldeveloper only commit it locally, not directly to the database. So when I close sqldeveloper without disconnecting from database, the records was not yet committed to the actual database.

Well, i don’t know if it’s true, but it sure solve my problem :)

Post a Comment

*
*