2

我有消息流与计算节点,这是从数据库调用某些存储过程。我在该节点上为db1设置了数据源字段,在odbc.ini文件中存在相同的名称。现在我需要动态地(不重新部署)将数据源更改为db2。 现在我已经找到theese两种解决方案,但他们两人的丑陋:在ODBC.INI和呼叫mqsireloadIBM IIB 9多个数据源

  1. 更改数据源的描述。
  2. 为分贝名称和模式
  3. 声明用户定义的属性,并调用这样的存储过程:。

    CALL SOME_PROC()数据库{UDP_DBNAME} {UDP_DBSCHEMA};

然后,您可以使用代理API在运行时更改此属性,流将立即捕获它。

还有其他的选择吗?

回答

3

按您的要求,你可以做这样的事情:

  1. odbc.ini文件中定义既DB1DB2
  2. 创建指向同一个ESQL文件中的两个计算节点,而是一个有数据源配置为DB1,另一个配置为DB2
  3. 设置包含逻辑的新计算节点(之前的两个节点),以确定要使用哪一个节点。 Out1连接到ComputeNodeDB1Out2连接到ComputeNodeDB2

有了这个解决方案,DB可以在运行时动态确定!