I am working on a system that is a little convoluted, so forgive me for going into the background for a minute. Eaglesoft is a software application for dental offices that uses SQL Anywhere. In their directory they have the following files: dbeng7.exe, dbeng16.exe, dbsrv16.eng, dblgen7.dll, dblgen16.dll, and sometimes dblgen17.dll

If I copy the database to a development environment so I can open it in Sybase Central then I get a message that it is a version 10 DB that needs to be unloaded and reloaded. When connecting using my .NET application I use iAnywhere.Data.SQLAnywhere.v4.5.dll and dblgen16.dll without any issue, so I am not sure exactly which db version it is. As a side note, I would love to be able to open it in Sybase Central without modifying it first if it is possible to get an older Sybase Central version that can do that.

Onto my problem. In my application I modify appointment records in the DB to set them as confirmed by the patient. Looking in the Eaglesoft schedule I don't see that change take effect. I can select the updated rows and see that the change has actually been written to the DB, but nothing changes in the application. I can navigate days / weeks / months away from the date in question, which should be accessing the DB, but I don't see a change. If I then try to modify the appointment in the application, the application seems to then realize that what it has in memory doesn't match what is in the DB, which causes it to crash.

Restarting the application has no effect, BUT restarting the SQL-A service does. If I restart the database, then the application detects a change. This is the only reason I am asking here, everything else points to it being a software problem, but restarting a running database doesn't seem like it would help anything unless there was a FLUSH() or something that wasn't written till it closed.

One thing that happened while debugging was where 3 computers had Eaglesoft open. I confirmed the appointment in the DB, after some time 2 of them showed the change, the third did not. Then all 3 froze and I had to restart the DB. When it was restarted, it was back to unconfirmed.

asked 29 May '19, 12:38

ajhalls's gravatar image

ajhalls
26113
accept rate: 0%


It sounds like an application issue. If you want "spy" on what it is doing then I'd use the database server options like -z -zr all -o path-for-a-text-log-file.

Run your application as you normally do. When you see that it seems to be out of sync with the database, you can use a text editor to examine the log file. Lots of info will be logged, including connections and the queries that they are running.

BTW, SQL Central (v17)/Sybase Central (v16) is fussy about what versions of databases it is asked to connect to. That's mostly due to the fact that it issues a lot of complex queries for features that it expects to be supported. Really old versions of the database server (I assume you really meant "7") and old databases don't support half of what this tool requires. Therefore it will refuse to deal with, hence connect to, old servers/databases.

-Jack

permanent link

answered 30 May '19, 08:39

JBSchueler's gravatar image

JBSchueler
3.3k41564
accept rate: 19%

edited 30 May '19, 08:41

It does look like there is some sort of caching / delayed writing to the database going on in the application. Request logging (-zr) should allow you to see what is actually happening at the database level. This help page may be of use.

(30 May '19, 09:11) Justin Willey
Comment Text Removed

> it will refuse to deal with, hence connect to, old servers/databases.

FWIW SC17 actually crashes ("internal error") if you try to connect to a V7 database... however, dbisql 17 seems to work just fine.

(31 May '19, 17:10) Breck Carter
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×76
×37
×28

question asked: 29 May '19, 12:38

question was seen: 3,335 times

last updated: 31 May '19, 17:10