我已经设置了一个DB2 Purescale环境。我正在尝试在我的客户端机器上为它配置客户端亲和性。我已经修改了我的db2dsdriver.cfg文件,如下所示,以包括客户端亲和性参数:
<configuration>
<dsncollection>
<dsn alias="sample" name="sample" host="127.0.0.0" port="50000">
<parameter name="Authentication" value="Server"/>
</dsn>
</dsncollection>
<databases>
<database name="sample" host="127.0.0.0" port="50000">
<parameter name="keepAliveTimeout" value="20"/>
<acr>
<parameter name="enableAcr" value="true"/>
<parameter name="enableSeamlessACR" value="true"/>
<parameter name="maxAcrRetries" value="2"/>
<parameter name="acrRetryInterval" value="3"/>
<parameter name="affinityFailbackInterval" value="60"/>
<parameter name="enableAlternateServerListFirstConnect" value="false"/>
<alternateserverlist>
<server name="host-1" hostname="127.0.0.0" port="50000"/>
<server name="host-2" hostname="127.0.0.1" port="50000"/>
<server name="host-3" hostname="127.0.0.2" port="50000"/>
</alternateserverlist>
<affinitylist>
<list name="list1" serverorder="host-1,host-2,host-3">
</list>
</affinitylist>
<clientaffinitydefined>
<client name="ABC" hostname="127.0.0.3" listname="list1">
</client>
</clientaffinitydefined>
</acr>
</database>
</databases>
</configuration>请注意,此处提供的所有up和机器名称都是虚构的。
但是,当我尝试db2clp连接到我的数据库时,我得到以下错误:- "SQL5163N db2dsdriver.cfg配置文件中缺少一个必需的配置参数“affinitylist group下的listname or serverorder”。“我已经尝试过,但找不到缺少的内容,因为listname和serverorder都存在于文件中。
此外,如果我使用CLPPLUS从客户端机器访问数据库,我可以访问主机1上的数据库,但是如果我停止主机1上的实例来测试客户端亲和性,那么我的客户端机器不能连接到主机2上的数据库。我得到以下错误:- Error when instance stopped on host-1 and running on host-2
有没有人能帮我了解一下可能是什么问题?
发布于 2018-11-07 16:44:58
检查以下地址:
<client name="ABC" hostname="127.0.0.3" listname="list1">
</client>这一定是你客户的地址。如果它不正确,你会得到你提到的这样一个错误。
至于CLPPLUS。它是一个jdbc应用程序,并且它不使用db2dsdriver.cfg。您必须设置相应的属性。
https://stackoverflow.com/questions/53182793
复制相似问题