我有两个数据库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
谢谢。
答案 0 :(得分:1)
据我所知,唯一的方法是必须使用联合身份验证。您需要:
创建服务器包装到DB#2 在引用表tabletest的表上创建昵称 创建用户映射 等
然后,您可以通过昵称访问该表。 有关如何执行此操作的详细信息,请参见知识中心:https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.data.fluidquery.doc/topics/tlsdb201.html
希望这会有所帮助。
Kevin See Db2混合云安全开发团队