VoiceGuide IVR Software Main Page
Jump to content

Cannot Connect To Sql Server

Recommended Posts

I'm a contractor trying to set up a web site in connection with the VoiceGuide system, so I'm not expert at the VoiceGuide installation, although I've managed to figure out the essentials. The database is SQL Server, and I've enabled ODBC to allow VoiceGuide to connect. I'm trying to run a script on exit from each call, so I've done so by using the properties option from the main script and setting the script I wrote to "Script to run when call is finished". The script was written with the script editor and I used the "query database" function. I filled out each field as was indicated by the instruction for, but still cannot manage to get a successful connection to the database.

 

Here's an event trace log to show the error I'm coming across:

 

164037.39 6 linedevstate 2048 0 0

164037.39 6 callstate OFFERING 65946 0 4

164037.40 6 Answer the call at 12/23/2003 4:40:37 PM

164037.43 6 lineAnswer(65946) => 65963

164037.43 6 Lev_CallerID [XXXX]

164037.45 6 Lev_CallerID [XXXX]

164037.45 6 callinfo CALLEDID

164037.45 6 callinfo ORIGIN

164037.45 6 ring 0

164037.98 6 callstate CONNECTED 65946,1,0

164037.98 6 WorkingModeTAPI=

164037.98 6 WorkingModeScript=

164038.00 6 Inband detection not enabled

164038.00 6 StartLoadedVgs at 12/23/2003 4:40:38 PM

164038.02 6 tapi Reply 65963 0

164038.02 6 [intro] Playing

164038.02 6 [intro] Playing (C:\Program Files\VoiceGuide\Scripts\rpa\sounds\intro.wav)

164038.04 6 PlaySoundStart err=[0 play PlaySoundStart ResetWavOutAndContinuePlay=>2] file[C:\Program Files\VoiceGuide\Scripts\rpa\sounds\intro.wav]

164038.11 6 PlaySoundStart line[6] err=[0 wavec waveOutOpen(0x0, 0x0, 0x3da5268, 0x0, 0x0, 0x1) => 2 (MMSYSERR_BADDEVICEID) - format query] [C:\Program Files\VoiceGuide\system\voice\ErrorPlayingFile.wav]

164038.13 6 For Dialogic use: PCM 11Khz 8bit Mono

164038.13 6 Hanging up call... [srlib PlaySoundStart]

164038.13 6 RecSoundStop ok

164038.14 6 PlaySoundStop ok

164038.14 6 fnHangupCall end

164038.14 6 RunModule PLAY end

164038.14 6 tapie PlayEnd old line=6 0 512725

164038.14 6 tapie PlayEnd old line=6 0 512725

164040.01 6 linedevstate 2048 0 0

164040.02 6 callstate IDLE 65946 0 0

164040.02 6 WorkingMode@Idle=

164040.09 6 After Hangup script:[C:\Program Files\VoiceGuide\Scripts\databaseonhangup.vgs]

164040.10 0 Script Load C:\Program Files\VoiceGuide\Scripts\databaseonhangup.vgs

164040.11 6 Loaded VbsAtHangup into:2

164040.12 6 [Database insert] DB Query

164040.12 6 tapi Reply 65912 0

164040.13 6 ODBC mode used

164040.45 6 About to execute Action Query

164040.46 6 ERROR 5.0.2000 DB Execute: 3146,ODBC--call failed.

164040.47 6 Hanging up call... [srlib 282]

164040.47 6 HangupCall_Common Mode=AfterHangupRun

164040.47 6 ReinitTelephony due to IDLE start

164040.48 6 tapic lineDeallocateCall(MainCall:65946) 0

164040.53 6 lineOpen(6) => 0

164040.53 6 Waiting for a call...

164040.54 6 lineOpen(6)LineHandle=65929

 

Right now I'm just trying to do a basic insert to make sure I'm connecting to the database at all. The system is W2K, the version of VoiceGuide is 5.0.2. If I could get any pointers to why I'm having issues with this, it'd be greatly appreciated. Thanks!

Share this post


Link to post

1. Please update to current version of VG - see our WWW for download link.

To update plz uninstall the current version first, then install new version into a new directory (or just delete all .mdb files from old install directory's \data\ subdirectory).

 

2. Can you get the ODBC connection working during the call itself ?

 

We have a large number of clients using SQL server. If you still cannot get the connection working with current version of VG plz post the script itself and screenshots of the configuration of the ODBC sources on your system.

Share this post


Link to post

This is where things get a little weird. I don't know exactly what was done, but the installation/uninstallation for VoiceGuide now defaults to the C:\WINNT directory. So uninstallation doesn't exactly work as intended. I don't know if this requires a registry edit to fix, or if there's an easier method. Is there any way to "hack" the install? That is, are there certain core files I can just copy into the proper directory structure to update the version? Or are you aware of what may need to be done to fix the directory being pointed to by the install program?

Share this post


Link to post

You my want to delete the installation log file which will be located here:

C:\Program Files\Installshield Installation Information

Each subdirectory in that dir has a long name filled with numbers and letters, but inside each of the "long numbers name" folders there will be an .ini file - and inside that .ini file is the name of the program for which this uninstall information is for.

 

Removing the entire "long numbers" folder will allow you to run the VoiceGuide install again in default mode... but even if you are getting the install defaulting to C:\WINNT then you should be able to just change the install directory...

Share this post


Link to post

That worked for the install, although now I'm having other problems receiving calls, related to playing WAV files. I'll investigate previous solutions to this issue on the forum to see if I can resolve this issue before pursuing the database problem. Thanks for help finding the issue with the new install, though.

 

Just FYI, the Trace Log looks basically identical, with some updated messages from the new version of VoiceGuide:

 

142527.01 6 linedevstate 2048 0 0

142527.01 6 callstate OFFERING 66288 0 4

142527.04 6 Lev_CallerID [XXXX]

142527.05 6 callinfo CALLEDID

142527.06 6 callinfo ORIGIN

142527.06 6 ring 0

142527.06 6 Answer the call at 12/26/2003 2:25:27 PM

142527.06 6 lineAnswer(66288) => 66253

142527.60 6 callstate CONNECTED 66288,1,0

142527.61 6 WorkingModeTAPI@Connected=

142527.61 6 WorkingModeScript@Connected=

142527.64 6 Inband detection not enabled

142527.65 6 StartLoadedVgs at 12/26/2003 2:25:27 PM

142527.65 6 tapi Reply (LineEvReply) ok 66253 0

142527.66 6 [intro] Playing

142527.66 6 [intro] Playing (C:\Program Files\VoiceGuide\Scripts\rpa\sounds\intro.wav)

142527.67 6 PlaySoundStart err=[0 play PlaySoundStart ResetWavOutAndContinuePlay=>2] file[C:\Program Files\VoiceGuide\Scripts\rpa\sounds\intro.wav]

142527.67 6 PlaySoundStart line[6] err=[0 wavec waveOutOpen(0x0, 0x0, 0x3eb0070, 0x0, 0x0, 0x1) => 2 (MMSYSERR_BADDEVICEID) - format query] [C:\Program Files\VoiceGuide\system\voice\ErrorPlayingFile.wav]

142527.68 6 For Dialogic use: PCM 11Khz 8bit Mono

142527.68 6 Hanging up call... [srlib PlaySoundStart]

142527.68 6 RecSoundStop ok

142527.68 6 PlaySoundStop ok

142527.69 6 fnHangupCall end

142527.69 6 RunModule PLAY end

142527.69 6 tapie PlayEnd old line=6 0 168380

142527.70 6 tapie PlayEnd old line=6 0 168380

142529.63 6 linedevstate 2048 0 0

142529.63 6 callstate IDLE 66288 0 0

142529.64 6 WorkingMode@Idle=

142529.71 6 After Hangup script:[C:\Program Files\VoiceGuide\Scripts\databaseonhangup.vgs]

142529.71 0 LoadedVgs_Find C:\Program Files\VoiceGuide\Scripts\databaseonhangup.vgs at idx=2

142529.72 6 tapi Reply (LineEvReply) ok 66270 0

142529.73 6 [Database insert] DB Query

142529.73 6 ODBC mode used

142529.75 6 About to execute Action Query

142529.76 6 ERROR 5.1.7001 DB Execute: 3146,ODBC--call failed.

142529.76 6 Hanging up call... [srlib 282]

142529.77 6 HangupCall_Common Mode=AfterHangupRun

142529.77 6 ReinitTelephony due to IDLE start

142529.77 6 tapic lineDeallocateCall(MainCall:66288) 0

142530.10 6 lineOpen(6) => 0

142530.11 6 Waiting for a call...

142530.11 6 lineOpen(6)LineHandle=66219

 

Once I get the original scripts working again, I'll try putting an ODBC call inside the main script, to see if it functions.

Share this post


Link to post

The MMSYSERR_BADDEVICEID error suggests that the device's Wave drivers have not been installed. I'd recommend reinstalling the wave drivers...

 

Once the Playing of sound files issue is resolved please (as you said) try putting an ODBC call inside the main script to see if it functions... The ODBC query should work the same from either the main script or the hangup script - most likely the problem with the database query is an incorrect ODBC 'connect string' or incorrect ODBC source setup (or bad SQL statement)...

Share this post


Link to post

I was out of town for the new year, so I'm getting back into solving this issue now. The issues I was having with the wave files is apparently fixed, although I was told (by the primary user of the system) that remote desktop operation causes issues with this. I was working on it remotely previously, and was having problems with the software operating, although working from on site seems to have no issues. Don't know if you know anything about remote desktop issues, although it'd be nice to know.

 

The sound issue no longer being a problem, I put the ODBC call inside the main script. Same issue.

164818.20 6 RunModule PLAY end

164826.59 6 dtmf 7 (65997,55,2)

164826.63 6 LsPlayMsg 7

164826.84 6 PlaySoundStop ok

164826.84 6 [Database ODBC Test] DB Query

164826.85 6 ODBC mode used

164833.24 6 About to execute Action Query

164834.51 6 ERROR 5.1.7001 DB Execute: 3146,ODBC--call failed.

164834.52 6 Hanging up call... [srlib 282]

164834.52 6 RecSoundStop ok

164834.52 6 PlaySoundStop ok

164834.60 6 fnHangupCall end

 

My guess is the same thing you mentioned - either a problem with the ODBC setup, or from the connection within VoiceGuide. Here's my connect string: "ODBC;DRIVER={SQL Server};UID=sa;PWD=***" I set up the ODBC per the instructions you have listed on this page: http://www.katalina.com.au/vghelp/html/con...cDataSource.htm I'm using the Data Source name in the "Database or ODBC Data Source:" field, in "Database Details" in the VoiceGuide "Query Database" command.

 

Thinking the SQL was fine, I went ahead and checked all of it - I didn't create this particular table, so I assumed (erroneously) it would handle null values for all but the primary key. After fixing this, the call worked. It's rather frustrating to know how close I was the whole time, just overlooking the obvious. I am grateful for fixing the installation issue, installing the new version of VoiceGuide, and learning more about the software. Thank you very much for that. I'm still interested to know about any possible remote desktop issues.

Share this post


Link to post
After fixing this, the call worked. It's rather frustrating to know how close I was the whole time, just overlooking the obvious. I am grateful for fixing the installation issue, installing the new version of VoiceGuide, and learning more about the software. Thank you very much for that. I'm still interested to know about any possible remote desktop issues.

Glad to hear it's all working now.

 

The ODBC Data Source Admin applet has the ability to trace SQL call execution - that log file should contain some info as to why the SQL command failed, so it may be worthwhile to look in there if other ODBC database problems pop up in the future...

 

Which remote desktop app were you using? (PCAnywhere?) Guess some remote desktop apps would allow users to force any sounds playing on remote PC to be relayed to controlling PC and played there - and if that feature is turned on then it's possible that the poor implementation of this 'sound play relay' would affect all wave drivers on remote system - not just PC's speaker wave drivers...

 

In a few months we will be releasing a version of VG written especially for Dialogic cards - that versio will not use Wave drivers but use Dialogic's native sound API - so play/record should not be affected by any remote control apps...

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
×