bcp 可以实现数据的导入导出。
EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导入 EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect out c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导出
EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导入 EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect out c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导出
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'',
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'EXEC master..xp_cmdshell ''bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""''',
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间或:右键你的数据库服务器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
00001, 7398,MICROSOFT PRESS SPECIAL,49.99, 0-7356-0652-8
00002, 7832, MICROSOFT - WWF , 45.63, 0-4562-0582-5
00003, 5643, MICROSOFT - WWF , 21.5 , 0-5545-0457-7
用SELECT * FROM OPENROWSET('MSDASQL.1','Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=e:\','select * from a.txt') 导入到sql
用INSERT INTO table1(a,b,c,d) SELECT * FROM OPENROWSET('MSDASQL.1','Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=e:\','select * from a.txt')
还有如果SQL里已经有表存在了,怎么将相应的数据导入到相应的SQL的表里去呢?该怎样写程序代码呢?
我刚接触SQL,谢谢你的帮忙!