假设我有一个名为db1的主数据库。还有另一个名为db2的数据库。有时我需要从db2获取数据。是直接从db2获取数据还是在db1中创建视图?
答案 0 :(得分:1)
如果您从db2获取数据,则应在db2中为每个查询创建视图。为什么?创建接口。
如果有人在db2中进行更改,他就不知道从db1执行的查询。您的查询可能会停止工作。如果在db2和db1查询视图@ db2中为查询创建视图,则在db2中更改结构的任何人都将看到无效视图,以防他的更改损坏您的查询。
当然,我的意思是您的查询嵌入在包或视图中的情况。如果您只是查询分析目的,那么直接执行它就没有区别,在db1上查看或在db2上查看只是因为它适合您。但是好的做法是设置接口,所以我建议在db2上为数据集创建视图,以便稍后从db1查询。在db1端创建额外的视图或同义词以使其具有双侧接口也是有意义的。
答案 1 :(得分:1)
首先需要设置一个连接DB2的驱动程序,一个用于Oracle连接的TNS连接条目和一个Oracle中的数据库链接以指向连接。
重要的是,您尽可能尝试将一个数据库中的更改隔离开来。
我这样做的方式不同,但这对我有用;
<强>要点:强> 除非我误解了你似乎问我应该直接在DB2中查询表还是应该通过视图?我建议通过视图将您从两端的变化隔离到某种程度,以便使用视图。