假设我有一个名为db1的主数据库。还有另一个名为db2的数据库。有时我需要从db2获取数据。直接从db2获取数据还是使用db1进行查看会更好吗?从另一个数据库读取数据
回答
如果您从db2获取数据,则应该在db2中为每个查询创建视图。为什么?创建接口。如果有人会在db2中进行更改,他不知道从db1执行的查询。您的查询可能会停止工作。如果您在db2中为查询创建视图,并从db1查询视图@ db2创建视图,那么任何在db2中更改结构的人都会在他的更改损坏您的查询时看到无效视图。
当然,我的意思是当你的查询嵌入到包或视图中时。如果您只是为了分析目的而进行查询,那么直接进行查询并不会有什么区别,只要查看db1或db2上的视图就可以了,因为它适合您。但好的做法是设置接口,所以我建议在db2上创建数据集的视图,这些数据集稍后将从db1中查询。在db1一侧创建附加视图或同义词以具有两个侧面接口也是有意义的。
太好了。感谢您回答我的问题。 – Kristjan
您首先需要设置一个connectng到DB2的驱动程序,一个用于连接Oracle的TNS连接条目和一个Oracle中的数据库链接指向连接。
重要的是,您尽可能尝试隔离一个数据库与另一个数据库的更改。
我已经完成了不同的方式,但是这对我有效;
- 对于在DB2中查询的每个表,只需从该表创建一个DB2列表视图即可。
- 在Oracle中创建一个查询DB2_VIEW @ DB2_database的视图。虽然不是绝对必要的,但只需查询您想要的列 - 它的良好做法。
- 通过它创建视图和查询的同义词。如果数据来源发生变化并且视图被另一个视图替换,则可以将同义词切换为指向新视图而不是更改代码。
摘要: 除非我误解你似乎会问我应该直接查询表在DB2或者我应该通过什么看法?我建议通过视图将你从两端的变化中隔离开来,以便在某种程度上使用视图。
太好了,谢谢!回答了我所有的问题。 – Kristjan
- 1. 从一个数据块读取BLOB到另一个数据库
- 2. 开发Lotus Notes数据库读取另一个数据库
- 3. 从一个数据库读取并写入另一个Rails 2.3
- 4. C# - DataGridView - 从另一个数据库表中读取一列吗?
- 5. JS SQLITE,读取一个数据库并写入另一个数据库
- 6. MySql - 从一个数据库更新到另一个数据库
- 7. php从sql数据库读取数据
- 8. ASP.NET从数据库读取数据
- 9. MongoDB从数据库中读取数据
- 10. SQLite从数据库读取数据
- 11. tensorflow从数据库读取数据
- 12. 将一列数据从一个数据库复制到另一个数据库
- 13. PDO从数据库读取
- 14. Ajax从数据库读取
- 15. 将数据从一个数据库传输到另一个数据库
- 16. 将数据从一个数据库传输到另一个数据库
- 17. 将特定数据从一个数据库移动到另一个数据库
- 18. 将数据从一个数据库复制到另一个数据库
- 19. 将数据从一个数据库迁移到另一个数据库
- 20. 将数据从一个数据库复制到另一个数据库
- 21. 将数据从一个数据库导入另一个数据库条件为
- 22. 将表格数据从一个数据库复制到另一个数据库
- 23. 将数据从一个数据库表复制到另一个数据库表?
- 24. 将数据从一个数据库复制到另一个数据库
- 25. Django:将数据从一个数据库复制到另一个数据库
- 26. 将数据从一个数据库复制到另一个数据库
- 27. 从一个表中读取数据并使用它从另一个表中读取数据
- 28. 使用Google云数据流从一个数据存储中读取数据并写入另一个数据流
- 29. 将列数据从一个数据库传输到另一个
- 30. 从一个表读取数据到另一个基于Like“row_value”
很多因素需要在这里考虑。数据库之间有快速连接吗?它有很多数据吗?两个数据库都可能移动吗? “使用db1查看”是什么意思,这仍然需要访问db2? – JohnHC
感谢您的回答! 我对数据库并不是很了解,但有2种方法可以实现这个功能。首先是我在db1中查询时引用了db2。 SELECT * FROM db2.table1 还是我第一次创建视图(CREATE VIEW v_db1 SELECT * FROM db2.table1) ,然后当我需要在DB2中那个表我只是SELECT * FROM v_db1 我想知道何时使用第一路或第二路。那两者有什么区别? 我希望我说得更清楚我在想什么 – Kristjan