Как автоматически хранить данные из Oracle в SQL Server (по расписанию) - PullRequest
1 голос
/ 01 июня 2009

Здравствуйте, Я новичок здесь, извините, если мой вопрос слишком прост. Однако, может быть, у вас есть какой-то совет, например, ссылки, которые могли бы помочь мне ... Я пытаюсь найти что-то полезное в течение нескольких дней, но пока безрезультатно.

Я работаю в распределенной среде. У меня есть сервер Oracle за сотни миль и сервер MS SQL рядом со мной. Я пишу приложение с использованием Visual Web Developer 2008 Express. Мне нужны данные из Oracle. Не стоит запрашивать сервер Oracle каждый раз, когда мне нужны данные с него. Я бы предпочел запускать несколько запросов Oracle один раз каждую ночь и сохранять результаты в некоторых локальных (SQL Server) таблицах. Я предполагаю, что я должен выполнять запросы через стандартный планировщик Windows (Windows Server 2008). У меня есть базовые возможности подключения - я могу открыть базу данных Oracle из локальной Visual Studio.

Вопросы:

  1. Как написать запрос / процедуру / функцию, которая бы получала данные из Oracle и помещала их в таблицу SQL Server (возможно, воссоздала перед каждым выполнением запроса)?
  2. Как выполнить такой запрос из командной строки (или другим способом запустить из планировщика)
  3. Какие соглашения об именах применимы? В VS я использую что-то вроде //IP.IP.IP.IP/Name и пользователя с паролем.

Спасибо за любую помощь или совет.

С уважением, Маттео

Ответы [ 3 ]

2 голосов
/ 01 июня 2009

Я предлагаю вам поговорить с администраторами баз данных Oracle и SQL Server, так как могут быть и другие соображения, которые вы должны иметь в виду. (Целостность данных, безопасность, владение и т. Д.)

Один из путей, которым вы могли бы следовать, - это внедрить процессы DTS (для более старых баз данных) или SSIS (для новых версий SQL Server) для копирования данных по расписанию, которое вы хотите. (Это почти то, для чего они были созданы.)

0 голосов
/ 15 июня 2009

Сколько данных мы говорим? Если есть небольшое количество, которое вам нужно переносить каждый день, вы можете написать глупую выборку и вставить скрипт на выбранном вами языке. Вам нужно только искать лучшие решения, если «синхронизация» потребует слишком много ресурсов.

0 голосов
/ 02 июня 2009

Спасибо ...

Я администратор базы данных для SQL Server, который будет служить только для моего приложения. Для Oracle я просто хочу читать данные, и у меня достаточно привилегий и соглашения с администраторами баз данных. Безопасность, собственность и целостность не являются проблемой на данный момент. Мне просто нужен технический совет, как получить данные из таблиц Oracle в MSSQL по расписанию.

Я использую MS SQL Server 2008 Express SP1. Я очень близок к решению моей проблемы - я установил соединения, и все установлено и работает. Я просто не знаю, как выполнить запрос, который бы регулярно получал данные из Oracle и помещал их в MSSQL без ручного взаимодействия.

У меня есть некоторый опыт программирования, но немного в базах данных (кроме создания сложных запросов SQl). Поэтому некоторые примеры или ссылки на подробное описание будут полезны. Я не уверен насчет соглашений об именах, различий между процедурами, функциями и запросами, параметрами командной строки для запуска процедур автоматизации БД и так далее. Я также не уверен, какие механизмы или технологии доступны в MS SQL Server 2008 Express edition.

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