UCanAccess Driver Locks MS Access Database of SMS Engine — Basic Edition

Problem: SMS stuck in the “oubox” table and cannot be send out by SMS Engine — Basic Edition v. 5 and SMS Engine — Basic Edition v. 6.

Solution: Java application should use ODBC instead of UCanAccess to connect to “SMSEngine5.mdb” (version 5) or “SMSEngineVBNET.mdb” (version 6). Somehow, UCanAccess locks the records inserted into “outbox” table, preventing SMS Engine from retrieving those records and preventing SMS being send out.

 

TROUBLE SHOOTING #1: JDBC:UCanAccess

  • DB Tool: DBeaver
  • Driver: UCanAccess
    UCanAccess-01
  • JDBC URL: jdbc:ucanaccess://C:\Program Files\MOBITEK\SMS Engine – Basic Edition\Database\SMSEngine5.mdb
  • Result:
    • All records inserted into “SMSEngine5.mdb” using DBeaver were stuck in “Outbox” table even after the DBeaver has been closed.
      UCanAccess-02
    • All SMS are stuck in “Outbox” table (SentStatus = P) after the SMS Engine has been restarted.
    • After restarting the SMS Engine a few times, all SMS finally can send out.

 

TROUBLE SHOOTING #2: JDBC:ODBC

  • DB Tool: DBeaver
  • Driver: ODBC
    UCanAccess-03
  • JDBC URL: jdbc:odbc:SMSEngine5
  • Result:
    • All SMS inserted into “SMSEngine5.mdb” can be send out without any problem while DBeaver is still running.
      UCanAccess-04
    • Note: the delivery status depends on the TELCO response — may be late or no status at all.