日期:2014-05-17  浏览次数:21094 次

asp页中的一个查询要用到两个数据库,怎么处理
例如
select   name_a,name_b   from   member_A,member_B   where   member_A.A_id=member_B.B_id

但是member_A和member_B分别是两个sql   server数据库中的表.
请教如何处理?

------解决方案--------------------
表前面加上数据库的名字 Database1.Table1
------解决方案--------------------
联接筛选
当一个表的筛选基于发布中的另一个表时,联接筛选允许在合并复制筛选中使用跨表关系。联接筛选定义两个表之间的一种关系,该关系将在合并进程中加以强制;它与指定两个表之间的联接类似。联接筛选命名两个项目,并指定联接条件代表项目中的两个表之间的关系。联接条件通常为以下形式:

ARTICLE1_TABLE.COLUMN = ARTICLE2_TABLE.COLUMN

联接筛选通常与行筛选联合使用,允许合并进程保持两个表之间的引用完整性。如果某个使用行筛选发布的表由另一个已发布表中的外键引用,则外键表的项目必须具有一个联接筛选来代表主键表项目上的引用相关性。

当创建发布时,SQL Server 企业管理器使用该规则为在外键引用中所基于的外键表自动建议联接筛选逻辑。为此原因,也为了使用方便,建议声明正确的主键到外键的关系,然后当使用创建发布向导创建发布时让联接筛选自动生成。


说明 使用 CREATE TABLE 或 ALTER TABLE 创建 FOREIGN KEY 约束的语法允许 NOT FOR REPLICATION 选项。当设置了该选项时,Microsoft® SQL Server™ 2000 假定当用户进行数据更改时验证了引用;因此,当合并进程对数据进行同步处理时,SQL Server 2000 将不执行附加的处理步骤以验证引用。如果使用该选项,则必须定义一个合并筛选以避免订阅服务器上出现无效的外键行。


联接筛选并非严格限于主键/外键关系。联接筛选可基于与两个项目表中的数据相关联的任何比较逻辑,但该逻辑应尽可能使用索引列,以获得最佳性能。

根据联接条件是否基于一个唯一列,合并进程具有特殊的性能优化,如同联接筛选代表外键关系时的情况。如果联接条件基于一个唯一列,则应当为项目设置 join_unique_key 属性,以获得最佳性能。

尽管可以将子查询放入行筛选中,但行筛选不是联接筛选。如果更新由某个子查询引用的表中的行,则不会重新评估该查询,并且不会将该行作为复制的一部分进行传播。复制联接筛选仅存在于合并复制中。


警告 具有多个表(如数十个或数百个表)的联接筛选将严重影响合并处理过程中的性能。如果正在生成五个或更多表的联接筛选,建议考虑使用其它解决方案。其它策略可能不会筛选这些表,而主要是查找表、较小的表和未经更改的表。使这些表成为发布整体的一部分。建议仅在这些表中使用联接筛选,因为在订阅服务器中认真进行分区很重要。


------解决方案--------------------
UNION 联合查询
------解决方案--------------------
在sql server数据库中建立数据库链接
------解决方案--------------------
OPENDATASOURCE
------解决方案--------------------
跨数据库查询表么?
SQL SERVER里我是这样写的
[database].dbo.[table]
------解决方案--------------------
[databaseName].dbo.[tableName]
or
databaseName..tableName