如何在64位Windows Server 2012上安排从dbf到SQL Server的数据插入

时间:2014-11-05 10:16:29

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

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

是否有其他方法可以安排将.dbf数据插入SQL Server表,而无需使用SSIS包加载器?

更新

我最终使用Python并编写了一个从XML导入的脚本。但是,我认为@Oleg的答案是最准确的,因为情况。

谢谢大家!

3 个答案:

答案 0 :(得分:1)

我建议您采用下一种方法:

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

  3. 有用的链接:

    How to get data from DBF file using C#

    How to load data into datadase using C#

    About LINQPad command-line utility

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您还可以使用DBF Commander Pro执行此任务:

  1. 为您的插入创建命令行 - 选择'文件 - >导出到DBMS'。在窗口中指定传输选项,然后从窗口底部复制命令行: export DBF to database

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

    “c:\ Program Files \ DBFCommander \ DBFCommander.exe”-edb“D:\ Data \ customer.dbf”customer_table“Provider = SQLOLEDB.1; User ID = user1; Initial Catalog = test_db; Data Source = test_server “

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

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

    Using DBF in batch mode
    Export DBF file to SQL database