2011-12-14 45 views
0

我有三個數據庫在三個不同的服務器上,我需要連接並在asp:gridview中顯示結果。由於asp:SqlDataSource使用連接字符串到一個數據庫,所以我現在的查詢工作正常,但是我的問題是我指定了服務器,數據庫和其他兩個數據庫的表。數據庫連接 - 結果顯示在gridview中

  1. 如何修改我的查詢使用連接字符串到所有的 數據庫(C#,asp示例)?
  2. 我在aspx文件中執行查詢,還是應該在cs文件中執行查詢?
  3. 如果我在cs文件中進行連接,如何將結果附加到gridview?一旦我離開此頁面並返回,數據可能會有所不同。

我當前<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

是不同服務器上的數據庫嗎?他們在環境中有不同的名字嗎? – 2011-12-08 04:41:50

回答

0

我已經能夠做兩件事情來解決這個問題。由於數據庫都是MSsql,我使用鏈接功能將它們連接在一起。這樣我只需要有一個連接字符串。爲了在遷移到生產服務器時不必更改SQL代碼,我讓DBA爲我的所有查詢創建存儲過程。這樣我只需要改變連接字符串。