Импорт данных SQL Server с «поиском» - PullRequest
0 голосов
/ 16 июня 2010

У меня есть две базы данных на двух отдельных серверах SQL (пытаюсь объединить обе).

Это мои настройки, и я пытаюсь импортировать данные с Сервера1: таблица заказов на Сервер2: таблица заказов.

Server1
    Database1
        Orders(ID, CustomerName, DateOrdered)

Server2
    Database2
        Customers(ID, Name)
        Orders(ID, CustomerID, DateOrdered)

Как вы можете видеть, база данных Database1 имеет ненормализованные данные, а база данных Database2 имеет те же данные, должным образом нормализованные.

У меня проблема с импортом в SQL Server. В базе данных Database2 таблица клиентов заполняется, и БУДЕТ соответствие между Server1.Database1.Orders.CustomerName и Server2.Database2.Customers.Name.

Мне бы хотелось, чтобы это происходило во время импорта, чтобы поле Customer.ID было проверено на основе значения поля CustomerName в данных импорта, а затем выполните соответствующую вставку в мои новые заказы. таблица.

Я могу подключиться к обоим серверам через SSMS, и я пытаюсь выполнить импорт через "SQL Server Native Client 10" в качестве источника данных.

Обновление

Похоже, я не смогу сделать "пакет" служб SSIS, поэтому я сделал следующее:

Перемещено Database1.Orders в Database2.OrdersOLD.

Сейчас я ищу запрос для создания новых записей заказов в Database2.Orders и вставки правильно подобранного CustomerID, поскольку теперь все три таблицы находятся в одной базе данных, возможно ли это?

Ответы [ 2 ]

1 голос
/ 16 июня 2010

Я думаю, что это можно сделать так:

SELECT O1.ID, C2.ID, O1.DateOrdered
    INTO Server2.Database2.Orders 
    FROM Server1.Database1.Orders O1
    INNER JOIN Server2.Database2.Customers C2 ON C2.Name = O1.CustomerName
1 голос
/ 16 июня 2010

Используйте SSIS, в частности, Преобразование поиска . См. Связанные блоги и учебные пособия по ссылке на статью MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...