Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 自动及;计划在SQL Server 2005中导入mdb_Sql Server 2005_Ms Access_Ssis - Fatal编程技术网

Sql server 2005 自动及;计划在SQL Server 2005中导入mdb

Sql server 2005 自动及;计划在SQL Server 2005中导入mdb,sql-server-2005,ms-access,ssis,Sql Server 2005,Ms Access,Ssis,我有一个.bat文件,可以通过ftp下载已知文件夹中的文件xyz.mdb 此access db具有名称可能每月变化的表 我需要通过计划作业启动bat文件,然后在特定数据库中的SQL Server中导入xyz.mdb(我可以删除并重新创建它) 有什么建议吗?我对ssis不是很在行。使用WinSCP或类似工具进行FTP下载,而不是使用BAT文件。您可以使用执行流程任务调用它,并根据成功或失败控制流程流。成功后,为每个循环容器添加一个,并将其指向“已知文件夹”,将每个文件名分配给一个变量。然后,您可以

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

此access db具有名称可能每月变化的表

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


有什么建议吗?我对ssis不是很在行。

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

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

第二个棘手的部分是连接堆栈。Access数据库引擎2010提供64位的OLE DB,但奇怪的是,它一次只能在一种风格中工作,即64位或32位。这会导致很多混乱,因为即使在64位机器上,出价也总是32位的


我已经开始使用ODBC驱动程序了。微软已经声明OLEDB将在未来被弃用,ODBC是一种方式(以适应云计算)。任何现代Windows操作系统都将配备32位的Access ODBC驱动程序,您可以安装64位的Access Database Engine 2010并获得64位的ODBC驱动程序。

谢谢,Mike,抱歉,我只是使用WinSCP下载Access文件,并通过“执行进程任务”执行它。bat只启动WinSCP的脚本。本周我将尝试你告诉我的下一步,我将告诉你进展如何。