powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / КАК обновлять свою таблицу из таблиц с другого сервера
4 сообщений из 4, страница 1 из 1
КАК обновлять свою таблицу из таблиц с другого сервера
    #32218744
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите пжл

КАК обновлять таблицу MayTable на своем сервере1

данные для обновления нужно брать из другого сервера2
из разных таблиц

типа

select
p.id_proj,
p.projectname,
p.title,
e.employeename

from projects p left join employees e
on p.p_employee=e.id_employee
----------------------------------
ничего другого как написать приложение

1) читающее в clientdataset результат этого запроса с сервера1.базаданных1

2) записывающее (в цикле пробегаясь по строкам clientdataseta)
строку за строкой в мой сервер2.базуданных2.MyTable
и вызывающую хранимую процедуру, которая каждый раз берет содержимое новой строки и insert-ит в MyTable

не придумал
...
Рейтинг: 0 / 0
КАК обновлять свою таблицу из таблиц с другого сервера
    #32218843
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за база? В MS SQL это решается через LInked Server.
...
Рейтинг: 0 / 0
КАК обновлять свою таблицу из таблиц с другого сервера
    #32218889
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL2000


например:
на том сервере я сделал хранимую проц.
select
p.id_proj,
p.projectname,
p.title,
e.employeename

from projects p left join employees e
on p.p_employee=e.id_employee
========
в приложении
1)подсоединяюсь к тому серваку и считываю в клиентдатасет содержимое этого селекта
2)поробегаюсь в цикле по строкам клиентдатасета и выполняю другую процедуру уже на моем сервере

типа
@proj char(10),
@pname char(10),
@title char(10),
@ename char(10)

insert into MyTable (id_proj,
projectname,
title,
employeename) Values (@proj,@pname,@title,@ename)
---------
но дело осложняется тем, что MyTable в конечном счете должна иметь иметь
больше полей (пока я ее сделал как есть 4 поля) (допустим там есть еще field5,field6)

а мне надо только эти 1-4 поля апдейтить каждый раз
---------

то есть суть:

- на моем серваке MyTable имеет много полей - я ее редактирую потом из другого приложения
- с другого сервака мне надо брать, допустим, только указанные в селекте поля и обновлять все содержимое MyTable

PS 2 Cat2 Как там дела в Карелии?
...
Рейтинг: 0 / 0
КАК обновлять свою таблицу из таблиц с другого сервера
    #32218911
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. К Server1 прилинковывает Server2.
Для этого на Server1 выполняем процедуру

EXEC sp_addlinkedserver
@server = 'Server2',
@provider = 'MSDASQL',
@provstr = 'DRIVER={SQL Server};SERVER=Server2;UID=sa;PWD=;'

Теперь с таблицами Server2 можно работать напрямую, используя четырехзвенную нотацию.
Linked Server так же можно создать и из EM.

2. На первом сервере выполняем что-то типа


insert into MyTable (id_proj,projectname,title,employeename)

select p.id_proj, p.projectname, p.title, e.employeename

from SERVER2.MYBASE..projects p left join SERVER2.MYBASE..employees e

on p.p_employee=e.id_employee

То, что нужно вставлять только четыре поля - проблемой не является. Для этого и служит явное указание полей в запросе.

В вашем случае, лучше оформить это как хранимую процедуру без параметров. Тогда в теле программы вызов этой процедуры будет прописан раз и навсегда, а если появится нужда изменить количество передаваемых полей, то нужно будет просто изменить текст процедуры.

===========
В Карелии дела хорошо. Только вот в этом году жара непривычная
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / КАК обновлять свою таблицу из таблиц с другого сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]