VoiceGuide IVR Software Main Page
Jump to content

Question About Dbconnectstring_ado

Recommended Posts

Does the VoiceGuide v5.2.5049 Enterprise 4 Line + Diales look for the DbConnectString_ADO string at the VGDialer section for a second database?

 

Thanks in advance.

 

 

Fidencio Monroy.

Share this post


Link to post

No. You need to use v6.x of VoiceGuide.

 

Why do you want to use v5.x of VoiceGuide instead of v6.x?

 

For outbound IVR delivery you really need a Dialogic card, so you should also be using v6.x

Share this post


Link to post

I have a Dialogic card.

 

The problem is that when I bought the license I didn't know about the two different versions of the software (TAPI and Dialogic); so I've developed for the TAPI version.

 

Is there a way you can change my license to the Dialogic version to have the benefits?

 

This is an enterprise 4 line + dialer license, and stuck to a network card. Maybe issuing the license for the same device?

 

By the way, how much should I change to migrate from one version to the other?

 

Thanks in advance.

 

 

Fidencio Monroy.

Share this post


Link to post

All that needs changing is the format of the sound files - they need to be 8kHz.

 

All else stays the same.

 

You should check with sales@voiceguide.com whether your code will work with v6.x

Share this post


Link to post

Here again guys; the second database is working now with the Dialogic version.

 

I'm using Oracle v10.

 

First I added the column Options because it is not used in the TAPI version.

 

From the logs I noticed this is the query you are using to get the actual calls to be done:

SELECT ID,

PhoneNumber,

ActivateTime,

DayTimeStart,

DayTimeStop,

DaysCallAllowed,

LineSelection,

Priority,

AnnounceMessage,

Script,

OnAnswerMachine,

RV,

AnswerTimeout,

CallRetriesLeft,

DelayBetweenRetries,

OnNotConnected,

Optionss,

EscalationCalls

FROM CallQue

WHERE ((ActivateTime <= 703182001) OR

(ActivateTime IS NULL)

) AND

((DayTimeStart <= 2001) OR

(DayTimeStart IS NULL)

) AND

((DayTimeStop > 2001) OR

(DayTimeStop IS NULL)

) AND

((CallRetriesLeft >= 0) OR

(CallRetriesLeft IS NULL)

) AND

((DaysCallAllowed = '') OR

(DaysCallAllowed = ' ') OR

(DaysCallAllowed IS NULL) OR

(DaysCallAllowed LIKE '%Su%')

) AND

((LineSelection = '') OR

(LineSelection = ' ') OR

(LineSelection = ',,') OR

(LineSelection IS NULL) OR

(LineSelection LIKE '%,1,%') OR

(LineSelection LIKE '%>1<%') OR

(LineSelection LIKE '%,dxxxB1C1,%') OR

(LineSelection LIKE '%,dxxxB1C1,%')

)

ORDER BY Priority,

ID

I see a problem here: If you set only one line to dial out then no record is returned, you can see it in the last part (LineSelection); the closer comparation is '%,1,%' but it needs to be enclosed into ','s. A work around is to set it to null; it worked but it tries to dial in any available line and its not the desired behavior.

 

After that I don't know what the program does, but it generates these log entries:

201746.52 1 dial ado CheckNextLine rsCallQueADO.open not completed. Now wait for rsCallQueADO_FetchComplete

201746.52 1 dial ado pRecordset.State =1

201746.53 1 dial ado pRecordset.Fields read start RecordCount=1 Status =0

201746.53 1 dial ado pRecordset.Fields read end

201746.53 1 dial DialOnLine start tel[1234567] ann[] vgs[D:\Script.vgs] am[] rv[] cid[]

201746.69 1 ERROR 6.0.3310 in DialOnLine Module srLibDialout on line 130, -2147217900:ORA-00911: invalid character

As you can see, oracle is returing am invalid character error message.

Can you please check the query that is being executed at that line 130?

I think it is the update to the callque table to set the new values after retrieving the data and before dialing out because it happens before the dial phase.

 

Thank you.

 

 

Fidencio Monroy.

Share this post


Link to post
the closer comparation is '%,1,%' but it needs to be enclosed into ','s.
Yes. You always need to put a comma at start of string and end of string. See how entries are loaded by the Telephone Number Loader.

 

Can you please check the query that is being executed at that line 130?
Its an UPDATE query issued to the database to update the database record's activation time. You should be able to see in your database's or ODBC drivers logs what the SQL query was and why did the driver or database responded with an error.

Share this post


Link to post

I got the update clause using trace procedures, its syntax is correct. I think it's a problem with the ODBC driver, I'll update it and will let you know.

Share this post


Link to post

Got the problem, it was no the ODBC drivers (however it's great to have latest version), the problem is with the OleDb connection:

 

DbConnectString_ADO=Provider=OraOLEDB.Oracle;Data Source=main;User Id=user;Password=pass

 

The Oracle OleDb provider doesn't allow the use of semicolon at the end of the statements. There is no problem with the ODBC drivers.

 

I'm using that provider because I found it in the documentation:

[VGDialer]

DbConnectString_ADO=Provider=SQLOLEDB;Server=DBSERV1;UID=vg;PWD=vg;Database=OurO

tDialQue

Can other provider can be used? If yes, can you post an example?

Or is there any way to say to the application that it should not end the statements with semicolons?

Share this post


Link to post

Got it: it works changing the string to

 

DbConnectString_ADO=DSN=main;User Id=user;Password=pass

 

And I got another problem, will start a new topic.

 

Thank you very much.

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
×