【问题标题】:Updating a SQL server from a remote .dbf file从远程 .dbf 文件更新 SQL 服务器
【发布时间】:2011-09-13 02:05:02
【问题描述】:

我目前有两台服务器。一个是带有 .dbf 文件且经常更新的服务器,另一个是带有 SQL Server 工作组版本的服务器。

问题:我需要从这些远程 .dbf 文件更新 SQL Server 表,它是如何完成的?我需要每隔 X 小时自动从服务器中提取这些文件。

迄今为止的研究:

我相信我了解如何在与 SQL Server 数据库相同的服务器上更新具有 .dbf 文件的表,您将使用 SQL Server 提供的 DTS 管理工作室。我不相信这个解决方案会尝试远程提取这些 .dbf 文件。我研究了一个链接服务器,但不明白它到底是什么。这些 .dbf 文件来自可视化 foxpro 服务器。据我所知,visual foxpro 没有像 SQL 这样的界面?如果有人有任何建议可以为我指明正确的方向,我们将不胜感激。我通常可以找到答案,但对此感到很无助……在此先感谢您为解决此问题所做的任何努力。

【问题讨论】:

  • 服务器是否联网,如果是,能否通过网络连接到.dbf文件?
  • 这些服务器没有联网在一起,一个是go daddy专用服务器,另一个是其他地方的专用服务器

标签: sql sql-server database sql-server-2008 synchronization


【解决方案1】:

链接服务器基本上只是一个指针,它让您的数据库中的代码与外部数据源交互,就好像它们也在您的数据库/实例中一样。这里有一些创建链接服务器到 FoxPro DBF 的示例:

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,如本问题所述:

Import DBF files into Sql Server

(但我个人认为链接服务器会灵活很多。)

【讨论】:

  • 感谢您的快速发帖。我认为通过您的出色示例,这对我来说变得更加清楚,但是我认为我仍然对服务器的实际物理连接感到困惑。 . .像不应该有一个连接字符串或类似的东西吗?我真的不明白如何连接到该服务器。我是否需要删除对 VFP 数据库的所有远程登录才能使链接发生?
  • “连接字符串”是链接服务器设置的一部分——您只需要建立一次,然后 SQL Server 从那时起协商它。我承认我对 FoxPro 的经验几乎为零,所以我并不完全了解那里的安全模型,或者您是否在询问并发性......
  • @Mootz - FoxPro 是一个文件数据库,与服务器的物理连接 是一个文件共享,您可以在其中直接使用 .dbf 文件。使用链接服务器或 SSIS 没有区别,您必须通过共享访问文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 2016-05-24
相关资源
最近更新 更多