2012-11-28 41 views
2

我有一个.bat文件,它可以通过ftp下载已知文件夹中的xyz.mdb文件。在SQL Server 2005中自动和计划导入mdb

此访问数据库具有名称可能每个月会有所不同的表。

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

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

回答

0

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

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

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

我已经开始使用ODBC驱动程序了。微软已经表示,将来将不推荐使用OLE DB,而ODBC则是要走的路(以适应云)。任何现代Windows操作系统都会附带一个32位Access ODBC驱动程序,您可以安装64位Access数据库引擎2010并获得64位ODBC驱动程序。

+0

谢谢Mike,对不起,我只是使用WinSCP下载执行它的访问文件与“执行进程任务”。蝙蝠只启动一个WinSCP的脚本。 本周我尝试你告诉我的下一步,我会告诉你它是如何去的。 – Pomp