Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

CVP VXML Script - Oracle Database Issue

Hi all,

I am integrating a VXML script with a backend system (oracle9 database) through database element using JNDI.

I have remarked that there is no data returned from the query. There is no error in the error log but this warning in the activity log : 'A substitution representing Element data from element "dbQuery" and variable named "etat" referred to non-existent information. An empty string was substituted instead.'

The query works very well using other a web page and jdbc.

What may be the reason?

Thanks for help.

16 REPLIES
Silver

Re: CVP VXML Script - Oracle Database Issue

CVP VoiceXML Server itself does not remove or overwrite old log files.

Since log files are not purged by the system, it is the responsibility of the administrator to maintain necessary log file management. This becomes necessary for high volume systems since log files can take a significant amount of disk space depending on the details stored in them.

http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/cvp4_0/programming/guide/cvp40ele.pdf

http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/cvp3_1/user/guide/CVP_VXML_S_user.pdf

New Member

Re: CVP VXML Script - Oracle Database Issue

Sorry, but I did not catch the relation of log file management with the problem to retrieve data from Oracle DB.

Green

Re: CVP VXML Script - Oracle Database Issue

Is Oracle supported?

It was my understanding that the Database Element using JDNI only worked with two drivers. The standard MySQL Java driver (free) to a MySQL database, and the iNET Java driver to a Microsoft SQL Server.

http://www.inetsoftware.de/products/jdbc/mssql/

This is consistent with the error. When the Database Element works correctly it will create data elements hanging off it with the names of the columns in the table you query. Obviously, to do this it needs to execute metadata queries and not all drivers support the methods it needs to call.

I could be wrong about this, but it was certainly true with CVP 3.x

You could surely write a custom Java class to query Oracle using Oracle's Java driver.

Regards,

Geoff

Re: CVP VXML Script - Oracle Database Issue

Geoff,

I have a question. I have made a JNDI connection with MSSQL wia the inet driver and then place a query in my script with the Database Element. My question is, how do I use the data that this query retrieved in my other elements in call studio. I am unclear about where the data is retrieved to. Basically my query is going to retrieve "2323" and I want to do is to say it smart. What variable will hold this "2323" from the database?

Thanks,

Chad

Green

Re: CVP VXML Script - Oracle Database Issue

Chad,

I have not done this, but have a colleague in the UK who has. Let's say your Database Element is called Database_Read and your SQL query is something like "SELECT Foo FROM MyTable WHERE PrimaryKey = '1234'.

Then the system will create an element like

Data.Element.Database_Read.Foo

where the result "2323" lives.

Regards,

Geoff

Re: CVP VXML Script - Oracle Database Issue

Geoff,

I figured I would see this automagically populate this variable as existing in Call Studio. Am I just supposed to know this element exists?

Cheers, and thanks as always!

Chad

Re: CVP VXML Script - Oracle Database Issue

Totally works man! Finally! However see my other post about I can only pack back the information this is recovering in the Caller_Input field. My FromExtVXML Array seems to not be working however...

Cheers,

Chad

Re: CVP VXML Script - Oracle Database Issue

Cycling the PG fixed it...

Chad

New Member

Re: CVP VXML Script - Oracle Database Issue

Oracle is supported.

VxML Server's 'Tomacat Application Sever' will talk to any database which supports SQL query over JDBC JNDI.

The topic of mine you replied on, I am using Database node over JNDI with Oracle 10i.

Regards -Kartik

New Member

Re: CVP VXML Script - Oracle Database Issue

aketata

what is your query like?

do we have a semi-colon in the end?

do we see anything in teh error-log also other than activity log?

regards -kartik

New Member

Re: CVP VXML Script - Oracle Database Issue

aketata

me using oracle 10 and facing the same issue, did you find a solution?

New Member

Re: CVP VXML Script - Oracle Database Issue

aketata

i fixed it, but the solution is strange.

my query was: select language from cu_db where clid=data.session.clid

I changed it to

select LANGUAGE from cu_db where clid=data.session.clid

and made sure that the logging enabled for the Database node is also in CAPS like LANGUAGE Data.Element.get_from_db.LANGUAGE

and it worked, and I stopped seeing the warning in the activity log and started seeing the data returned itself.

But I still see the Warning when the Query does NOT return a single row.

New Member

Re: CVP VXML Script - Oracle Database Issue

Hi,

I'm using Oracle 9i.

First, I tried a standard 'select * from Tablename' then I tried to execute 'select count(*) numrecs from tablename'.

The VXML Server should create element data named 'numrecs' with the number of records that are in that table. I get NO element data back.

VXML Server/Tomcat is communicating correctly with the DB since :

- I get no error messages about Tomcat unable to connect to the DB

- when I try to access a non-existent DB table, I get an error message in the VXML Server logs.

Do I have to try to use the tablename in CAPS? It's really strange but I'm going to try it.

Green

Re: CVP VXML Script - Oracle Database Issue

Did the standard 'select * from Tablename' work?

A count(*) query is more complicated for the Database Element. Is it supported?

Regards,

Geoff

New Member

Re: CVP VXML Script - Oracle Database Issue

Finally, the issue was resolved..

In fact, when we make a query:

'select count(*) numrecs from mytable', normally, the result is returned in variable named 'numrecs' but actually, the result is returned in a variable named 'NUMRECS'.

So when VXML tries to retrieve data from {Data.Element.dbQuery.numrces}, it will return nothing since this variable is empty.

So here, we must retrieve data from {Data.Element.dbQuery.NUMRECS}.

Hope this will help.

Green

Re: CVP VXML Script - Oracle Database Issue

That's interesting. I wonder if the Database Element always capitalizes names like that. Thanks for following up.

Regards,

Geoff

544
Views
5
Helpful
16
Replies
CreatePlease to create content