我在三个不同的服务器上有三个数据库需要加入并在asp:gridview中显示结果。我现在的查询是asp:SqlDataSource使用连接字符串到一个数据库的结果,但我的问题是我为其他两个数据库指定了服务器,数据库和表。
我当前的<asp:SqlDataSource>
代码就是这个 -
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT DISTINCT A.batchname AS IndexBatchNumber, a.clientkey, a.packagetrackingid, a.statusflag, f.Name AS Client, SELECT GroupValue FROM FSDev.dbo.ClientGroup WHERE ClientKey = a.clientkey AND GroupCode = 'TIME ZONE') AS Timezone, (SELECT fc.special_instr FROM SQL2.sysdba.FC_SLX_TEST.FC_PKG_TRKG fc WHERE
fc.fc_Pkg_trkgid = a.PackageTrackingID) AS RushFunding FROM BatchExport a, InvoiceExport b, FSDev.dbo.Clients f WHERE a.batchname = b.batchname AND a.clientkey = f.ClientKey AND a.statusflag = 1 "></asp:SqlDataSource>
答案 0 :(得分:0)
我已经能够通过做两件事来解决这个问题。由于数据库都是MSsql,我使用链接功能将它们连接在一起。这样我只需要一个连接字符串。为了在移动到生产服务器时不必更改SQL代码,我让DBA为我的所有查询创建存储过程。这样我只需要更改连接字符串。