把ftp服务器上的文件通过动态脚本方式同步到本地
有这样一个需求:系统需要二次开发,但是不能直接去修改原来的数据库,只能把原来数据库中的某些表抽取到本地数据库中,而且原来数据库的某个表的某个字段代表文件路径,而对应的文件在远程ftp服务器上,知道ftp的账号和密码,需要把ftp服务器上的文件同步到本地服务器上,而且每天都要扫描同步。
假设本地地址为:10.14.177.67,数据库ffbd,账号sa,密码Chuwa2013
远程数据库地址:10.14.177. 61,数据库ffbd,账号sa,密码Chuwa2013
ftp地址为两个:10.14.177.5,账号和密码 bdt和bigdata119!
解决方法如下):
1、在10.14.177.67数据库ffbd打开相应开关
execsp_addlinkedserver ‘FFBD61’, ”,’SQLOLEDB’ ,’10.14.177.61’
GO
exec sp_addlinkedsrvlogin’FFBD61’, ‘false’ , null , ‘sa’ , ‘Chuwa2013’;
–exec sp_dropserver ‘FFBD61’,’droplogins’ –删除连接
–Exec sp_helpserver –查询可用的服务器
2、
a) 在10.14.177.67机器上通过数据库的linkserver方式查询10.14.177.61上的ffbd数据库中满足条件的记录(chgtime倒序排列每次取200数据)
b) 在10.14.177.67上通过存储过程ffbd.dbo.FTP_FLWS_5生成ftpget5.txt脚本,并运行脚本
c) 在10.14.177.67上通过数据库定时作业每5分钟执行一次中ffbd.dbo.FTP_FLWS_