cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4743
Views
1
Helpful
8
Replies

UCCX8 db_cra access through IBM Informix .NET Provider ?

juliengirard
Level 1
Level 1

Hi,

We have implemented a Wallboard in .NET 2.0 and connecting to UCCX v8 Informix database (in particular the table "db_cra") works well with ODBC link ("uccxwallboard" user).

  • Can we use the IBM Informix .NET provider (or OLE DB Provider) that are more efficient ?

From our tests, it does not work natively and in IBM User Guide, it would seem necessary to add stored procedures to the server through the "coledbp.sql" script (provided in the "Client SDK").

  • What could be done with UCCX v8 Informix database and especially is it suport ?
  • Does anyone have a feedback on this ?

Thank you.

8 Replies 8

mlundbom1
Level 1
Level 1

Bumping this one, hoping that someone can provide an answer?

I'm in the same situation...

anubhati
Cisco Employee
Cisco Employee

Creating custom stored procedure on UCCX informix database is not recommended and will not be supported by TAC. Also "IBM Informix .NET provider" drivers are not tested with the present 8.x releases.

If interested you can try in your lab box and see if it works but from prior experiences we have seen custom stored procedures and untested drivers lead to memory leak issues which ultimately crashes the UCCX engine service.

Hope this helps

Anuj

Hi Anuj,

Were you able to get the informix .NET Provider to work with uccx? Is there anything you can get regarding what you found?

Thanks

baris.seker
Level 1
Level 1

I am not able to connect to the UCCX database with the .net provider "IBM.Data.Informix".

I use the following connection string:

Server=servername;DataBase=db_cra;UID=uccxhruser;PWD=xxxxxxx;

The connection string does not accept any other parameters like Host, Protocol or Service even though they are documented. I get an "invalid argument" error if I use any of them. My informix .net version is 9.7.4.4

If I use the connectionstring as above, I get the following error:

ERROR [08001] [IBM] SQL30081N  A communication error has been detected. Communication protocol being used: "TCP/IP".  Communication API being used: "SOCKETS".  Location where the error was detected: "10.10.X.X".  Communication function detecting the error: "connect".  Protocol specific error code(s): "10061", "*", "*".  SQLSTATE=08001

You need to specify the port, protocol and the locale.

This is from my lab

Dim ifxcon As New IfxConnection

Dim rd As IfxDataReader

Dim cmd As IfxCommand

Dim mydb, Query As String

mydb = "Database=db_cra;Host=10.99.18.52;Server=ccx85_uccx;

UID=uccxhruser;Password=cisco;

Service=1504;Protocol=onsoctcp;db_locale=en_US.57372"

Query = "Select * FROM RtCSQssummary"

ifxcon.ConnectionString = mydb

ifxcon.Open()

cmd = ifxcon.CreateCommand

cmd.CommandText = Query

  rd = cmd.ExecuteReader()

While rd.Read()

' Reads go here

end while

rd.Close()

ifxcon.Close()

Graham

baris.seker
Level 1
Level 1

I have solved the issue.

First of all I uninstalled all IBM informix packages and the Cisco UCCX Historical Reports application.

My Computer is Windows 7 64-bit and I had the 64-bit 3.50 drivers installed.

This time instead I installed only the Informix 3.50 32-bit drivers and didn't install the IBM Data server components.

Then I pointed my .net reference to the IBM.Data.Informix.dll under

C:\Program Files (x86)\IBM\Informix\Client-SDK\bin\netf20

I also made sure the app is running in x86 mode.

That dll started working with all the options needed to connect to a UCCX database.

So in my app.config I have this:

  

     

  

And here's the simple code that should work:

using IBM.Data.Informix;

         IfxConnection conn = new IfxConnection(ConfigurationManager.ConnectionStrings["Uccx"].ConnectionString);

         conn.Open();

         IfxCommand command = new IfxCommand("SELECT * FROM Resource WHERE active = 't'", conn);

         IfxDataReader reader = command.ExecuteReader();

         while (reader.Read())

         {

            Console.WriteLine("{0} {1} {2}", reader["resourceID"], reader["resourceloginid"], reader["resourcename"]);

         }

         Console.Read();

Thanks Baris. I tried your approach and it works.

Hey i have done the all steps that you mentioned above but i got the following exception.

 

"Unable to load dll iclit09b.dll".

 

Please help me dear.