IBM data server driver connection to multiple connection managers
Posted in 2023
Topics: Connectivity: ODBC / JDBC / .NET, Security, Permissions & Auditing, Networking & sqlhosts Configuration, Clustering, Grid & MACH11
Hello, I already asked this on whatsapp channel Does anyone use drda connection to group of connection managers? here is my connection string: <add name="name2" connectionString="Server=IPADDRESS:PORT;User ID=user;Password=password;Database=mydb;Persist Security Info=True;" providerName="Base.InformixDatabase" /> and it can connect directly to drda listener. But what when i have sqlhosts like this: #### drda_grp group - - c=1,e=cm3_drd_sla cm2_drd_sla drsoctcp 10.10.10.12 9089 g=drda_grp cm3_drd_sla drsoctcp 10.10.10.13 9089 g=drda_grp #### and cm2/3 are listening on 9089 for drda connections How can I connect to group since IBM Data Server Driver does not know about sqlhosts file? I'm aware of this https://ibm.co/47RpGp4 but still - what to put in connection string Hrvoje ------------------------------ Hrvoje Zokovic ------------------------------
Finally working with support (thanks Joey) we managed to configure cluster.
I have 2 IDS servers - in HDR pair. Next, "in fornt" there are 2 Connection Managers - with different priority, of course.
Only problem not resolved is that you cant configure just drda cluster (i.e. listening just for drda connections) - since IDS is not aware of that (onstat -g cmsm shows nothing). So you must have sqli listener even if you are not using it.
Next, on client (windows, .NET app) I installed IBM Data Server Driver and app is "using IBM.Data.DB2;"
Trick is in configuration in db2dsdriver.cfg file (somewhere under C:\\ProgramData\\IBM\\DB2\\ something \\cfg\\). In my case file looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<configuration>
<databases>
<database host="172.16.0.62" name="test" port="14101">
<acr>
<parameter name="enableAcr" value="true"/>
<parameter name="enableAlternateServerListFirstConnect" value="true"/>
<alternateserverlist>
<server name="172.16.0.64" hostname="172.16.0.64" port="14101"/>
</alternateserverlist>
</acr>
</database>
</databases>
</configuration>
This line is "pointing" to first CM (not database server):
<database host="172.16.0.62" name="test" port="14101">
is almost the same as connection string:
connStr = "Server=172.16.0.62:14101;Database=test;UID=informix;PWD=password;";
and in "acr" (stands for "automatic client reroute") there are other CMs - in my case just one:
<server name="172.16.0.64" hostname="172.16.0.64" port="14101"/>
Anf it is working :)
Hrvoje
------------------------------
Hrvoje Zokovic
------------------------------
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g