VoiceGuide IVR Software Main Page
Jump to content

Diallist.mdb Database - Apparent Corruption?

Recommended Posts

The DialList.mdb database is apparently getting corrupted. I create this database by generating a comma separated values file with several thousand entries (each entry is a monitoring call, made 2 minutes apart. I'm pretty confident the file structure is fine, having received advice from Katalina Tech in the past on this and from following the docs). I create a new dialliist.mdb by first deleting the old one via the IVG dialer's "Delete DialList" button on the script params tab, then starting and exiting from IVG. I then import the data directly in Access. All this is on Windows 2000 Server. IVG version is 4.9.1.

 

The evidence of the corruption is this: although the imported data dictates calls be made exactly every 2 minutes, after some unpredictable period of time (from minutes to days), the records in the diallist.mdb file start varying wildly. For example, I created a new database just 30 minutes ago, with calls scheduled like this:

 

24,18667744699,308090012

25,18667744699,308090014

26,18667744699,308090016

27,18667744699,308090018

28,18667744699,308090020

 

etc (I've truncated these records for clarity.)

 

But the database now contains this:

 

ID PhoneNumber ActivateTime

1 18667744699 308090127

3 18667744699 308090131

4 18667744699 308090133

#Deleted

#Deleted

#Deleted

28 18667744699 308090020

29 18667744699 308090022

30 18667744699 308090024

 

etc. Note the fact that records 1,3, and 4 (what happened to 2?) are for times after records 28 through 30. Also note that the 1,3, 4 are for "odd" minutes (e.g. 27, 31, 33): my imported data said to make calls on the even minutes (e.g. 20, 22, 24). And there is a 3 minute gap between record 1 and 3, instead of the expected 2 minute gap. This wreaks havoc on my monitoring code, whcih expects calls to be made on schedule.

 

This problem appears to be getting worse. I went for almost a month without such corruption, but in the past several days, this has now happened twice.

 

Have you seen this before? Is there a solution? If not, I'm going to have to ditch IVG and find another solution, as this unacceptable for my application. Please advise.

Share this post


Link to post
The DialList.mdb database is apparently getting corrupted.

I think the source of confusion here is that when the entries have been loaded into the database the redial retry counter is set to a value greater then 0, so when any of the outgoing calls did not get answered then they were rescheduled... and then after some calls get rescheduled then you will no longer get calls every 2 minutes - you will get those calls plus the rescheduled calls...

 

But the database now contains this:

 

ID PhoneNumber ActivateTime

1 18667744699 308090127

3 18667744699 308090131

4 18667744699 308090133

#Deleted

#Deleted

#Deleted

28 18667744699 308090020

29 18667744699 308090022

30 18667744699 308090024

 

Note the fact that records 1,3, and 4 (what happened to 2?)

 

looks like calls 1,3 and 4 were not answered by the call recipient, so they were rescheduled to be made again (note how reschedule time is 75 minutes in all 3 cases...)

Looks like call 2 got answered as it's now deleted from the database,

and calls 28,29,30 were not made yet...

 

Your database program (Ms Access?) uses "#Deleted" to indicate that some other program has deleted a row that the database program was viewing...

 

And there is a 3 minute gap between record 1 and 3, instead of the expected 2 minute gap

The gap is 4 minutes, not 3 - just as the gap between those calls was initially - both of them got rescheduled by 75 minutes..

 

I then import the data directly in Access.

Can you post the code you use to import the data and the DialList.mdb which is generated by this code on your machine?

Share this post


Link to post

Oh, ok. That makes sense, now that you've explained it. I didn't know about the retry thing. In reviewing my earlier post about the format of the datetime field, I see also how I can probably skip the step of directly creating the database and use the diallistnew.txt file. (The fact that the fields don't match up in order, name or number between the text file and the database confused me).

 

I'm going to try turning off the redial by setting the CallRetriesLeft and the DelayBetweenRetries column values to zero. Retries just screw up the app.

 

Thanks for the help.

 

Rick

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×