VoiceGuide IVR Software Main Page
Jump to content

Problem With Database Connection?

Recommended Posts

I've copied the old script from another machine, trying to install on a machine using VoiceGuide 7. The script is working, both on the old machine and the new machine. The correct voice prompts are run, however when it requires a database connection it seems to fail. Do I need to have a license for it to work at all? Of course, we need to purchase a license after I've tested it. I've tried all kinds of different connection strings in the documentation. None of them seem to work...

Share this post


Link to post

Database connectivity works on evaluation version.

 

Maybe there are network-related issues preventing you from communicating with the database? eg firewalls preventing communication etc.

 

Has the appropriate database driver or .NET Data Provider been installed?

 

If its an ODBC based connection then has the ODBC connector been set up?

Share this post


Link to post

Yes, an ODBC connection has been setup and tested. I'll be at the client tomorrow. I'll look at the firewall angle. That could be the problem.

Share this post


Link to post

If an ODBC Data Source is used and it was set up and tested, then the connectivity through it should work.

 

Probably best to check that the set up ODBC Data Source is pointing to the right database, and that it does in fact work.

 

You may be able to retrieve some traces from that ODBC driver that will let you see where the problem lies.

Share this post


Link to post

My ODBC connection does work. I've tested it... I've tried different connection strings to connect to the database and I get the same error message every time. I copied the script from version 5 or 6. Is there any difference with Version 7? I disabled the firewall and tested it. Same problem. I looked at the log that is created and it seems to recognize the input I type but always tells me that that is not a valid "Provider" in the database. What else can I do?

Share this post


Link to post

Please post the vgEngine trace capturing the call. We can then see what errors were returned to VoiceGuide.

 

(Please .ZIP up traces before posting them)

Share this post


Link to post

Sorry dumb question again...

Are those the files in the directory "C:\Program Files (x86)\VoiceGuide\log" that have vgEngine in their name?

Share this post


Link to post

Yes, those are the traces. Just .ZIP up the latest one that has the call with the database access attempt in it and post it here.

Share this post


Link to post

The database query module [select Provider ID] does not use a ODBC Data Source that you mention has been set up in the Windows' "ODBC Data Source Administrator".

 

For your Connect string please use this format:

 

DSN=myDataSourceName;Uid=myUser;Pwd=myPassword;

 

where myDataSourceName is the name of the ODBC connection set up in the Windows' "ODBC Data Source Administrator".

 

also: has your ODBC Data Source been set up as a 'System' or 'User' type?

 

note that the 'ADO.NET Data Provider' filed can be left blank.

170614.092   7   7   4 state [Select Provider ID] DB Query
170614.093   7   7   4       rv    replace start
------------------------------
select Provider_Number from DHA_Doctor  WHERE ((Terminated_Date is null and Active_YN = 0)  or Terminated_Date is not null and Terminated_Date >= getdate())  and Provider_Number = '$RV[Enter ProviderID]'

------------------------------
170614.099   7   7   4       rv    replace end   [select Provider_Number from DHA_Doctor  WHERE ((Terminated_Date is null and Active_YN = 0)  or Terminated_Date is not null and Terminated_Date >= getdate())  and Provider_Number = '0000980'

]
170614.100   7   7   4       dbstrDatabaseName=[192.168.1.2] strDbConnectString=[Driver={SQL Server Native Client 10.0};Server=192.168.1.2;Database=Imaging;Uid=sa;Pwd=OurPassword;] sAdoNetFactoriesAvailable=[|System.Data.Odbc|System.Data.OleDb|System.Data.OracleClient|System.Data.SqlClient|System.Data.SQLite|Npgsql|]
170614.100   7   7   4       db    did not find ado.net data provider : 192.168.1.2
170614.100   7   7   4       dbPlayOnHoldFile
170614.102   7   7   4       moh file not specified
170614.103   7   7   4       dbusing ado.net ODBC data provider : OdbcConnection/OdbcCommand/etc
170614.103   7   7   4       dbsuggested ODBC connect string format if System DSN defined: DSN=ddd;Uid=xxx;Pwd=yyy;
170614.111   7   7   4       dbodbc  RunQuery_Odbc [Select Provider ID], db=[], connect=[Driver={SQL Server Native Client 10.0};Server=192.168.1.2;Database=Imaging;Uid=sa;Pwd=OurPassword;], sql=[select Provider_Number from DHA_Doctor  WHERE ((Terminated_Date is null and Active_YN = 0)  or Terminated_Date is not null and Terminated_Date >= getdate())  and Provider_Number = '0000980'

]
170614.113   7   7   4       dbodbc  thread init (threadpool)
170614.113   7   7   4       dbodbc  thread started (threadpool)
170614.114   7   7   4 t     timer set   30 sec : EV_TIMEOUT_HANGUP
170614.118   5   7   4       dbodbc  connection create call. m_strOdbcConnectString=Driver={SQL Server Native Client 10.0};Server=192.168.1.2;Database=Imaging;Uid=sa;Pwd=OurPassword;
170614.119   5   7   4       dbodbc  connection open call.
170614.121   5   7   4 ERROR v7.5.5669.23446 (10-Jul-15 12:01:32.48) ConnectAndRun_Odbc init : ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at (Object )
   at ..()
170614.122   5   7   4       dbcompleted.  SqlQueryType=ERROR, RowsCount=0, sRv=
170614.123   5   7   4       dbcompleted. iRunWait=1, WavPlayWasStarted=0, WavPlayHasNowFinished=0
170614.123   5   7   4       dbcompleted. strError=ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Share this post


Link to post

It is a System DSN... To access SQL Server does it have to use Named Pipes or TCP-IP or does that matter?

As you said I put the following in the Connect String box...

DSN=DHAServer;Uid=sa;Pwd=OurPassword;

It still doesn't work...

I've installed .net 4.5. Is there something else that I needed to install?

Share this post


Link to post
To access SQL Server does it have to use Named Pipes or TCP-IP or does that matter?

 

It doesn't matter to VoiceGuide how the ODBC Data Source connects with database. VoiceGuide just uses the created Data Source.

 

Most commonly the IP connection is used.

 

Also please note that on 64-bit Windows systems the 32-bit "ODBC Data Source Administrator" must be used to create the data source.

 

The 32 bit "ODBC Data Source Administrator" can be found at C:\Windows\SysWOW64\odbcad32.exe

 

have you created your Data Source using the 64-bit "ODBC Data Source Administrator" or the 32-bit "ODBC Data Source Administrator" ?

 

It still doesn't work...

 

Can you please post the vgEngine trace capturing the call if the Data Source was created using the right "ODBC Data Source Administrator".

 

 

Also, is this a MS SQL Server database? Have you just tried using the ADO.NET Data Provider for the MS SQL Server ?

 

Please see: http://www.voiceguide.com/vghelp/source/html/moddbquery.htm for ADO.NET Data Provider Connect Strings.

Share this post


Link to post

Yes, it works!!!!! Thanks for all your help... Now to get the client to purchase the license...

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
×