T-SQLを経由してディスクへのSQL Serverのエクスポートエクセル

ALTER  PROCEDURE  [ DBO ][ Pro_ImportExcelByTime 
    
ASは、
BEGIN 
    - 最初のステップは、高度な機能を開くために
    EXEC sp_configureの' 表示オプションを前進'1 ; 
    
    RECONFIGURE ; 
    
    EXEC sp_configureの' xp_cmdshellを'1 
    RECONFIGUREし; 
    

    - 第2工程を、BCPエクスポートエクセル

    DECLAREの @file_pathの  NVARCHAR50)、@file_name  NVARCHAR500)、@exec_sql NVARCHAR4000 SETの @file_path  =  ' D:\ '   - 定義されたエクスポートは、絶対パス優れ
    DECLAREを @Index  INT 
    SELECT  @Index = MAX(AUTOID)から TestB.dbo.seed CONVERTVARCHAR10)、CREATETIME、120)は= CONVERTVARCHAR10)、GETDATE()、120 IF @IndexはIS ヌルまたは@Index =      0 
    始める
        SET  @Index = 。1 
    エンド
    
    始める
        SET  @Index = @Index + 。1 
    エンド
    - エクスポートファイル名
    のSET  @file_name  =  ' エクスポートエクセル(' + CONVERTNVARCHAR10)、@Index+ ' ' + CONVERTをNVARCHAR50)、GETDATE()、112+ ' * .XLS '   -定義されたExcelファイル名
    DECLARE  @colName  NVARCHAR10)、@proPrice  NVARCHAR10)、@proNumber  NVARCHAR10)、@proDescript  NVARCHAR200で)、@proCreateTime  NVARCHAR10 SET  @colName = ' 名前' 
    のSET  @proPrice = ' 価格' 
    SET  @proNumber = ' ' 
    SET  @proDescript = "説明' 
    SET  @proCreateTime = ' 作成した' 
    - データソースのSQLステートメントの
    SET  @exec_sql  =  ' SELECT '' ' + @colName + ' '' '' ' + @proPrice + ' '' '' ' + @proNumber + '' ' ' '' + @proDescript + '' ' ' '' + @proCreateTime + '' '全てSELECT proname連合、変換(NVARCHAR(10)、proPrice)、変換(NVARCHAR(10)、proNumber)、proDescript、変換(NVARCHAR(10)、proCreateTime、120)testA.dbo.project1から'   - 定義されたクエリSQLステートメント、使用するために必要なデータテーブルのフルパス、SQL文必須完全な行
    のSET  @exec_sql  =  ' BCP " ' + @exec_sql + ' " queryout " ' + @file_path + '' + @file_name + ' " -T -C -S "ラップトップAUVHR4RD" -U "SA" -P "123456" " ;
    EXEC xp_cmdshellをの@exec_sql  
    - 修正識別
    INSERT  INTO TestB.dbo.seed(A)' ' + 変換VARCHAR10)、@Index+ ' 回エクスポート' 

    - 第3工程と、オフ高度な機能
    EXEC sp_configureの' xp_cmdshellを'0 
    RECONFIGURE ; 

    EXEC sp_configureの' 表示オプションを前進'0 
    
    RECONFIGURE ; 
    
END

 

おすすめ

転載: www.cnblogs.com/yuanyanyan/p/12050150.html
おすすめ