工作计划:读取csv文件到数据库,要求如下:
要求:
    1:CSV每天会有一个不同 YYMMDD的文件名,因此需要文件名是动态(有规则的)
    2:数据读取完成以后,要求把该文件剪切到一个固定文件夹里
    3: 以上可以在工作计划(Job)里执行
SQL Server 版本(SQL Server 2005)
请给出一些脚本及方法。

解决方案 »

  1.   

    开启xp_cmdshell
    完成这些还不是分分钟的事。
      

  2.   

    写个存储过程,用job调用即可。
    参考:
    http://blog.csdn.net/maco_wang/article/details/3980517
      

  3.   

    --开启shellcmd
    USE master
    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURE; USE TEST
    --创建测试表
    create table t31(id int,name char(20));--定义变量
    DECLARE @date varchar(20)
    DECLARE @file varchar(200),@file_n varchar(200)
    DECLARE @sql varchar(2000),@sql_cmd varchar(2000)SET @date=convert(varchar(10),getdate(),112);
    SET @file='D:\test'+@date+'.csv';
    SET @file_n='D:\bak\test'+@date+'.csv'
    --导入数据
    SET @sql='BULK INSERT t31
    FROM '''+@file+'''
    WITH ( 
    FIELDTERMINATOR = '''+','+''', 
    ROWTERMINATOR = '''+'\n'''+' 
    ) ';
    exec (@sql)--修改文件位置
    SET @sql_cmd='EXEC master..xp_cmdshell  '+'''move '+@file+' '+@file_n+'''';
    exec (@sql_cmd)
      

  4.   

    可以使用ssis,不用开启xp-cmdshell
      

  5.   

    建议用SSIS来做
    SSIS擅长做这些,
    让JOB调度定期执行这些package
    xp-cmdshell能不开启就别开启
    注入大多利用这个xp-cmdshell 做的
      

  6.   

    水哥,SSIS没用过,
    能够给个demo?
      

  7.   

    剪哥的Demo
    http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx