SQL软件直接操作一次只能生成一个文本文件我要每个表生成一个文本文件,批量生成,这个要怎么做?
越详细越好.

解决方案 »

  1.   

    declare @sql varchar(8000)
    select @sql=isnull(@sql+';','')+'EXEC master..xp_cmdshell ''bcp dbname..'+name+' out c:\'+name+'.txt -c -Sservername -Usa -Ppassword'' ' 
    from sysobjects where xtype='u'
    exec(@sql)------------
    use [aaa]
    go
    declare @sql varchar(8000)
    select @sql=isnull(@sql+';','')+'EXEC master..xp_cmdshell ''bcp aaa..'+name+' out c:\'+name+'.txt -c  -Usa -P000000'' ' 
    from sysobjects where xtype='u'
    exec(@sql)
      

  2.   

    DECLARE @s VARCHAR(8000)
    DECLARE c CURSOR FOR 
    SELECT 'EXEC master..xp_cmdshell ''bcp 库名..'+name+' out d:\'+name+'.txt -c -Usa -P123456'''
    FROM sysobjects 
    WHERE TYPE='u'
    OPEN c
    FETCH c INTO @s
    WHILE @@FETCH_STATUS=0
    BEGIN
    EXEC(@s)
    FETCH c INTO @s
    END
    CLOSE c
    DEALLOCATE c
      

  3.   

    DECLARE @s VARCHAR(8000)
    DECLARE c CURSOR FOR 
        SELECT 'EXEC master..xp_cmdshell ''bcp 库名..'+name+' out d:\'+name+'.txt -c -T '''
        FROM sysobjects 
        WHERE TYPE='u'
    OPEN c
    FETCH c INTO @s
    WHILE @@FETCH_STATUS=0
    BEGIN
        EXEC(@s)
        FETCH c INTO @s
    END
    CLOSE c
    DEALLOCATE c或者使用信任连接试试
      

  4.   


    这个是sa的密码,默认没有,一般习惯是sa
    use [aaa]
    go
    declare @sql varchar(8000)
    select @sql=isnull(@sql+';','')+'EXEC master..xp_cmdshell ''bcp aaa..'+name+' out c:\'+name+'.txt -c -Usa -Psa'' '  
    from sysobjects where xtype='u'
    exec(@sql)/*output                                                                                                                                                                                                                                                          
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    NULL
    开始复制...
    NULL
    已复制了 0 行。
    数据包的大小(字节): 4096
    时钟时间(毫秒): 共      1
    NULL(所影响的行数为 7 行)output                                                                                                                                                                                                                                                          
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    NULL
    开始复制...
    NULL
    已复制了 0 行。
    数据包的大小(字节): 4096
    时钟时间(毫秒): 共      1
    NULL(所影响的行数为 7 行)output                                                                                                                                                                                                                                                          
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    NULL
    开始复制...
    NULL
    已复制了 0 行。
    数据包的大小(字节): 4096
    时钟时间(毫秒): 共      1
    NULL(所影响的行数为 7 行)*/