如何从连接管理器中定义的数据库之外的数据库应用表/视图

时间:2014-10-22 17:24:13

标签: sql-server tsql ssis sql-server-2008-r2

我正在使用SQL Server 2008 R2,并且最近被要求更新定义OLE DB源结果的TSQL查询。此OLE DB源定义了一个名为Common的数据库。但最近我被要求在同一个TSQL中包含一个名为Sales的另一个数据库中的表的连接。 Common和Sales数据库都位于同一服务器上。我遇到的问题是,由于Sales没有在连接字符串中定义,因此会出现一条错误,指出“无效的对象名称'Sales.dbo.SalesTable”。即使在TSQL连接中对Sales表的调用完全合格,它仍然会失败。

不幸的是,在Common数据库中创建一个视图以从Sales中提取信息然后在TSQL中应用该视图不是一种选择。还有另一种解决这种情况的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在" Common"中创建一个同义词。指向SalesTable的数据库。从那时起,您只需与同义词进行交互。

此外,您不必在连接字符串中定义销售额。您连接到服务器上的Common数据库并执行查询。如果其中一个查询碰巧从另一个数据库中提取数据,则在同一台服务器上,这不是什么大问题。

你能提供任何例子吗?