【问题标题】:How to schedule data insertion from dbf to SQL Server on 64-bit Windows Server 2012如何在 64 位 Windows Server 2012 上安排从 dbf 到 SQL Server 的数据插入
【发布时间】:2014-11-05 10:16:29
【问题描述】:

我正在使用 Windows Server 2012 64 位。我希望能够将数据从.dbf 文件导入到 SQL Server 表中。我使用了导入向导,它工作正常。但是,我有 SQL Server Express,无法安排此插入。

是否有另一种方法来安排将.dbf 数据插入到 SQL Server 表中,而不使用 SSIS 包加载器?

更新

我最终使用 Python 并编写了一个从 XML 导入的脚本。不过,鉴于当时的情况,我相信@Oleg 的回答是最准确的。

谢谢大家!

【问题讨论】:

  • 您总是可以编写一个小的 C# 包装器来调用 SSIS 包,然后安排该包装器(使用 Windows“计划任务”)按特定计划执行
  • 非常感谢。我希望会有另一种方法,但我认为这是唯一的方法。问候。

标签: sql-server ssis sql-server-express scheduler dbf


【解决方案1】:

您也可以使用 DBF Commander Pro 来完成此任务:

  1. 为插入创建命令行 - 选择“文件 -> 导出到 DBMS”。出现指定传输选项的窗口,然后从窗口底部复制命令行:

  2. 创建文本 .BAT 文件并插入复制的命令行,例如:

    "c:\Program Files\DBFCommander\DBFCommander.exe" -edb "D:\Data\customer.dbf" customer_table "Provider=SQLOLEDB.1;用户 ID=user1;初始目录=test_db;数据源=test_server "

  3. 使用将执行此 .BAT 文件的 Windows 计划程序制定计划。

可能对您有用的其他信息:

Using DBF in batch mode
Export DBF file to SQL database

【讨论】:

    【解决方案2】:

    我建议你下一个方法:

    1. 创建 C# 脚本,该脚本将使用 OleDbConnection(获取)和 SqlConnection(上传)对象将数据从 .DBF 文件导入 SQL Server 数据库表。
    2. 通过使用LinqPad、LinqPad 命令行实用程序 (lprun.exe) 和 windows Scheduled Task 服务自动执行上述脚本文件

    有用的链接:

    How to get data from DBF file using C#

    How to load data into datadase using C#

    About LINQPad command-line utility

    【讨论】:

      【解决方案3】:

      另一种方法是创建一个 SQL 链接服务器,一个指向 DBF 的 ODBC。使用 Windows 调度程序调用 SQLCMD.EXE 运行一些 SQL 来复制数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-23
        • 2015-11-15
        • 1970-01-01
        相关资源
        最近更新 更多