Bat命令:从Ftp获取文件以及数据导入
2010-03-03 13:30
441 查看
Bat命令-->ftp获取文件,并导入数据库
1.生成ftp命令,放在ftp.txt文件夹中新建一个bat文件(1.createscript.bat)
@echo open 服务器IP >ftp.txt
@echo user 用户名>>ftp.txt
@echo 密码>>ftp.txt
@echo get 文件名 data\chargefile.txt>>ftp.txt
@echo bye>>ftp.txt
2.执行第一步生成的命令,下载ftp服务器上的文件到本地,新建一个bat文件(2.downloadlogfile.bat)
ftp -i -n -s:ftp.txt
3.从本地把数据导入到数据库中,新建一个bat文件(3.importdata.bat)
方法一:利用DTS,(Oracle数据库/SQL数据库都支持)
用SQL Server工具生成一个DTS包,保存为“文件系统”(后缀名为:dtsx),配置好后,用bat命令调用导入数据
dtexec /F "D:\transferchargedata.dtsx"
方法二:利用bcp,支持SQL Server数据库
例子:EXEC master..xp_cmdshell 'bcp Test.dbo._Temp out c:\sss.xls -c -U"sa" -P"maobisheng"' --out 为导出到文件,in为从数据库导入到数据库中
EXEC master..xp_cmdshell 'bcp Test.dbo._Temp out c:\ sss _%date:~0,10%-%time:~0,2%.txt -c -U"sa" -P"maobisheng"' --文件名动态产生
方法三:利用sqlldr命令,支持Oracle
新建一个后缀名为ctl的文件,如:sqlldr.ctl
load data
infile 'D:\sqlldr\chargefile.txt'
badfile 'D:\sqlldr\chargefile_bad.bad'
discardfile 'D:\sqlldr\chargefile_dsc.dsc'
truncate into table tbgamechargelog
fields terminated by X'09'
(PTID,CHARGEDATETIME,GAMENO,GAMEAREANO,CHARGEAMOUNT)
命令:
sqlldr userid=用户名/密码@数据库名 control=d:\sqlldr\sqlldr.ctl log='D:\sqlldr\logfile\%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%.log'
方法四:可以利用LogParser导入数据,支持SQL数据库
"C:\Program Files\Log Parser 2.2\LogParser.exe" "select * into Test.dbo._Temp from 'D:\2010-01-10 23.log'" -o:sql -database:Test -i:tsv -iCodepage:65001
4.写一个总的bat文件,调用前三个bat:
call 1.createscript.bat
call 2.downloadlogfile.bat
call 3.importdata.bat
exit
这样,只要新建一个计划,调用总的那个Bat命令文件,就能实现每天定时从Ftp文件服务器上拉文件,并把数据导入到数据库中。
1.生成ftp命令,放在ftp.txt文件夹中新建一个bat文件(1.createscript.bat)
@echo open 服务器IP >ftp.txt
@echo user 用户名>>ftp.txt
@echo 密码>>ftp.txt
@echo get 文件名 data\chargefile.txt>>ftp.txt
@echo bye>>ftp.txt
2.执行第一步生成的命令,下载ftp服务器上的文件到本地,新建一个bat文件(2.downloadlogfile.bat)
ftp -i -n -s:ftp.txt
3.从本地把数据导入到数据库中,新建一个bat文件(3.importdata.bat)
方法一:利用DTS,(Oracle数据库/SQL数据库都支持)
用SQL Server工具生成一个DTS包,保存为“文件系统”(后缀名为:dtsx),配置好后,用bat命令调用导入数据
dtexec /F "D:\transferchargedata.dtsx"
方法二:利用bcp,支持SQL Server数据库
例子:EXEC master..xp_cmdshell 'bcp Test.dbo._Temp out c:\sss.xls -c -U"sa" -P"maobisheng"' --out 为导出到文件,in为从数据库导入到数据库中
EXEC master..xp_cmdshell 'bcp Test.dbo._Temp out c:\ sss _%date:~0,10%-%time:~0,2%.txt -c -U"sa" -P"maobisheng"' --文件名动态产生
方法三:利用sqlldr命令,支持Oracle
新建一个后缀名为ctl的文件,如:sqlldr.ctl
load data
infile 'D:\sqlldr\chargefile.txt'
badfile 'D:\sqlldr\chargefile_bad.bad'
discardfile 'D:\sqlldr\chargefile_dsc.dsc'
truncate into table tbgamechargelog
fields terminated by X'09'
(PTID,CHARGEDATETIME,GAMENO,GAMEAREANO,CHARGEAMOUNT)
命令:
sqlldr userid=用户名/密码@数据库名 control=d:\sqlldr\sqlldr.ctl log='D:\sqlldr\logfile\%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%.log'
方法四:可以利用LogParser导入数据,支持SQL数据库
"C:\Program Files\Log Parser 2.2\LogParser.exe" "select * into Test.dbo._Temp from 'D:\2010-01-10 23.log'" -o:sql -database:Test -i:tsv -iCodepage:65001
4.写一个总的bat文件,调用前三个bat:
call 1.createscript.bat
call 2.downloadlogfile.bat
call 3.importdata.bat
exit
这样,只要新建一个计划,调用总的那个Bat命令文件,就能实现每天定时从Ftp文件服务器上拉文件,并把数据导入到数据库中。
相关文章推荐
- linux之用echo输入数据到文本末尾以及用open ssl命令在证书文件里面获取公钥
- c# 获取FTP文件,并将数据导入ORACLE数据库
- Android连接服务器,从服务器获取数据,以及从服务器下载文件(单,多线程)
- oracle csv文件数据导入以及常见问题
- 将excel文件中的商品数据导入到数据库,并实现相关检索以及模糊搜索功能
- 存储过程中执行bcp命令将数据导入 并在其他文件服务器上生成log文件
- SQL Server中bcp命令的用法以及数据批量导入导出
- js内如何导入jason文件及从做好的文件内获取输入框信息,以及离子特效文件
- bat命令备份oracle数据库,并且删除7天之前的数据文件
- hive中建好表后,使用load命令从本地文件系统导入数据,去表中查全是null
- Django框架学习笔记(5.获取多个数据以及文件上传)
- 获取文件夹下的文件名生成新的文件&DOC命令想从指定的txt中读出文件名,然后在指定文件夹以及子目录下搜索文件,并拷贝到指定目录
- MySql数据导入导出cvs文件命令
- php 爬虫的简单实现, 获取整个页面, 再把页面的数据导入本地的文件当中
- SQL 数据的导入导出,对远程(MSsql,OracleAccess,)数据库的操作以及读取Excel,txt文件中的数据
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- 使用adb相关命令,获取文件的读写权限以及修改文件权限
- sandbox沙盒介绍以及如何取得沙盒里面各文件的路径,图片导入方式和图片路径获取
- MySQL source命令 导入大数据(sql文件,包括phpMyAdmin的备份文件)