C# SqlDataAdapter 与来自多个数据库的表的 JOIN
Posted
技术标签:
【中文标题】C# SqlDataAdapter 与来自多个数据库的表的 JOIN【英文标题】:C# SqlDataAdapter with JOIN of tables from multiple databases 【发布时间】:2020-04-15 12:22:58 【问题描述】:由于定义 SqlDataAdapter 的 sintax 是:
SqlDataAdapter adapter = new SqlDataAdapter(querystring, connectionstring);
如何连接来自多个数据库的表并使用单个连接字符串?
谢谢。
【问题讨论】:
【参考方案1】:根据您的数据库,可能会使用 DBLink。
例如对于甲骨文: https://oracle-base.com/articles/misc/managing-database-links
这在数据库级别将数据库连接在一起,并允许某些表、视图等可用于从一个数据库到另一个数据库的定义操作。
然后,从用户的角度来看,您只需连接到一个 DB,执行您的查询,然后它可以使用从多个 DB 连接的表,甚至不知道。
但也有缺点,包括安全性(更复杂的安全性)和性能。
在某些情况下,分别在两个 DB 上执行两个查询,然后将数据连接到应用程序的内存中可能会有所帮助。 但只有您可以判断,并且可能需要运行测试来验证哪个最适合您。
【讨论】:
我同意 jason.kaisersmith,最好的方法是在不同的连接中加载数据,然后加入它们。我建议使用DataSet
对象来提高性能。以上是关于C# SqlDataAdapter 与来自多个数据库的表的 JOIN的主要内容,如果未能解决你的问题,请参考以下文章
创建新的 SqlDataAdapter 时出现 C# InvalidOperationException