Обновление сервера SQL из удаленного файла .dbf - PullRequest
1 голос
/ 13 сентября 2011

У меня сейчас два сервера.Один - это сервер с файлами .dbf, которые обновляются очень часто, а другой - это сервер с выпуском рабочей группы SQL Server.

Проблема: мне нужно обновить таблицы SQL Server из этих удаленных файлов .dbf, как это делается?Мне нужно, чтобы эти файлы автоматически извлекались с сервера каждые X часов.

Исследования пока:

Мне кажется, я понимаю, как обновить таблицы с файлом .dbf на том же сервере.в качестве базы данных SQL Server вы должны использовать среду управления DTS, поставляемую с SQL Server.Я не верю, что это решение будет работать, пытаясь извлечь эти файлы .dbf удаленно.Я посмотрел на связанный сервер, но не понимаю, что это на самом деле.Эти файлы .dbf приходят с сервера Visual FoxPro.Насколько я знаю, Visual FoxPro не имеет интерфейса, как SQL?Если у кого-нибудь есть какой-либо совет, чтобы указать мне правильное направление, это будет очень цениться.Я обычно могу найти ответы, но чувствую себя довольно беспомощным в этом вопросе ... Заранее спасибо за любые усилия, приложенные к этой проблеме.

1 Ответ

3 голосов
/ 13 сентября 2011

Связанный сервер - это просто указатель, который позволяет коду в вашей базе данных взаимодействовать с внешними источниками данных, как если бы они также были в вашей базе данных / экземпляре. Вот несколько примеров для создания связанных серверов с DBF FoxPro:

http://fox.wikis.com/wc.dll?Wiki~VisualFoxProDataFromSQLServer

Так, например, если у вас есть связанный сервер с базой данных FoxPro MyFoxProDB, вы можете выполнить запрос в SQL Server следующим образом:

UPDATE t
    SET t.foo = x.bar
    FROM dbo.LocalTable AS t
    INNER JOIN MyFoxProDB...TableName AS x
    ON t.key = x.key;

Вы также можете рассмотреть возможность использования OPENROWSET, как описано в этом вопросе:

Импорт файлов DBF на Sql Server

(Но лично я думаю, что связанный сервер будет намного более гибким.)

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