2011-12-14 3 views
0

У меня есть три базы данных на трех разных серверах, которые мне нужно объединить, и показать результат в asp: gridview. У меня есть запрос, работающий сейчас как результат asp: SqlDataSource с использованием строки подключения к одной базе данных, но моя проблема в том, что я указываю сервер, базу данных и таблицу для двух других баз данных.Соединение базы данных - результаты показаны в gridview

  1. Как изменить мой запрос на использование строки подключения ко всем базам данных (пример C#, asp)?
  2. Выполняет ли мой запрос в файле aspx или должен ли я выполнять запрос в файле cs?
  3. Как приложить мой результат к gridview, если я делаю присоединение в файле cs? Когда я покину эту страницу и вернусь, данные могут быть разными.

Мой текущий <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

Да, они на разных серверах, и разные имена .. у разработчиков есть dev, у производства есть prod как часть имен. – Craig

+6

Считаете ли вы создание представления на стороне базы данных, которое объединяет все три таблицы из разных источников и возвращает данные из одного источника? –

ответ

0

Я был в состоянии решить эту проблему, делая две вещи. Поскольку базы данных - это все MSsql, я использовал возможности ссылок для их объединения. Таким образом, я должен иметь только одну строку соединения. Чтобы не менять код SQL при переходе на производственные серверы, я создал DBA для хранения хранимых процедур для всех моих запросов. Таким образом, мне нужно изменить строки подключения.

Смежные вопросы