【问题标题】:Getting data from another Database within procedure in DB2在 DB2 的过程中从另一个数据库获取数据
【发布时间】:2019-05-01 15:57:21
【问题描述】:

我有两个数据库 DB1 和 DB2,我想在 DB1 中调用一个存储过程并从 DB2 中获取数据。

 Create procedure diffdbtest()
 LANGUAGE SQL
 DYNAMIC RESULT SETS 1
 BEGIN
 DECLARE C1 CURSOR WITH RETURN FOR
 SELECT * FROM Db2.myschema.tabletest;
 OPEN C1
 END@

我得到 Db2.myschema.tabletest 没有定义。

两个数据库具有相同的用户和密码(如果可能,我如何使用不同的用户?)

知道有什么问题吗?

运行 DB2 Express v10.5 Windows

谢谢。

【问题讨论】:

  • Db2-Express 支持同构联合(即当两个数据库都在 Db2-LUW 中时)。通过研究文档了解 Db2 中的联合。有一个学习曲线。

标签: database select stored-procedures db2


【解决方案1】:

据我所知,唯一的方法是您必须使用联邦。您需要:

为 DB #2 创建服务器包装器 在引用表 tabletest 的表上创建昵称 创建用户映射 等等

然后,您可以通过昵称访问该表。 具体操作方法见知识中心:https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.data.fluidquery.doc/topics/tlsdb201.html

希望这会有所帮助。

凯文·希 Db2 混合云安全开发团队

【讨论】:

  • 希望得到另一个答案 :-) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
相关资源
最近更新 更多