【问题标题】:Automatic & Scheduled import mdb in SQL Server 2005SQL Server 2005 中的自动和计划导入 mdb
【发布时间】:2012-11-16 02:52:18
【问题描述】:

我有一个 .bat 文件,它通过 ftp 下载一个已知文件夹中的 xyz.mdb 文件。

此访问数据库包含名称可能每月不同的表。

我需要通过计划的作业来启动 bat 文件,然后在特定数据库中的 SQL Server 中导入 xyz.mdb(我可以删除并重新创建它)。

有什么建议吗?我对ssis不太好。

【问题讨论】:

    标签: sql-server-2005 ms-access ssis


    【解决方案1】:

    使用 WinSCP 或类似文件代替您的 BAT 文件进行 FTP 下载。您可以使用执行流程任务来调用它,并根据成功或失败来控制您的流程。成功后,添加一个 For Each Loop 容器并将其指向“已知文件夹”,将每个文件名分配给一个变量。然后在循环中,您可以添加一个从每个 Access DB 读取的数据流任务。

    第一个棘手的部分是连接定义。您需要使用表达式来生成连接字符串。从您手动生成的开始,然后在表达式中重建它,用您的变量替换文件名。

    第二个棘手的部分是连接堆栈。 Access 数据库引擎 2010 为您提供 64 位的 OLE DB,但奇怪的是,它一次只能以一种方式工作,64 位或 32 位。这会引起很多混乱,因为即使在 64 位机器上,BIDS 也始终是 32 位。

    我已经开始使用 ODBC 驱动程序。微软已经表示 OLE DB 将在未来被弃用,而 ODBC 是要走的路(以适应云)。任何现代 Windows 操作系统都会附带 32 位的 Access ODBC 驱动程序,您可以安装 64 位的 Access Database Engine 2010 并获得 64 位的 ODBC 驱动程序。

    【讨论】:

    • 谢谢迈克,对不起,我只是使用 WinSCP 下载访问文件并通过“执行进程任务”执行它。 bat 只启动一个 WinSCP 的脚本。这周我会尝试你告诉我的接下来的步骤,我会告诉你进展如何。
    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 2012-05-26
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    相关资源
    最近更新 更多