导出到TXT文本,用|分开
exec master..xp_cmdshell ''bcp "库名..表名" out "d:\tt.txt" -c -t |-U sa -P password''chi na it p owe r .com25gQajQ4Ziad4TpBULK INSERT 库名..表名
FROM ''c:\test.txt''
WITH (
FIELDTERMINATOR = ''|'',
ROWTERMINATOR = ''\n''
)chi 

解决方案 »

  1.   

    导出到TXT文本,用逗号分开
    exec master..xp_cmdshell ''bcp "库名..表名" out "d:\tt.txt" -c -t |-U sa -P password''这个是导入
    BULK INSERT 库名..表名
    FROM ''c:\tt.txt''
    WITH (
    FIELDTERMINATOR = ''|'',
    ROWTERMINATOR = ''\n''
    )
      

  2.   

    declare @sql varchar(1000)
    set @sql='bcp "select ''姓名'',''班级'',''号码'' union all select name as 姓名,bt as 班级,nullif(num,0) as 号码 from  数据库名.dbo.表名" '+
             ' queryout "输出文件路径" -c -t"|" -r"\r\n" -T'
    exec master..xp_cmdshell @sql
      

  3.   

    vivianfdlpw() ( )  写的很清楚了.exec master..xp_cmdshell ''bcp 
    "select 你要查的字段名 
    Union all 
    Select 你要查的字段名  from 表1 A Inner jion 表2 B on A.关联字段=B.关联字段 where 条件" 
    out "d:\tt.txt" -c -t |-U sa -P password''
      

  4.   

    但是我写的这句话就是不行呀,用户名是sa,密码是sa
    exec master..xp_cmdshell ''
    bcp 
    "select rtrim(b.incn),(case when rtrim(b.addr)<>'0'  then rtrim(b.addr) else ''end) ,(case when len(rtrim(pocd))=6 then rtrim(pocd) else ''end),(case when rtrim(b.tlno)<>'0' then rtrim(b.tlno) else ''end),rtrim(c.cpcidty),rtrim(b.idno),rtrim(d.utno_code),rtrim(a.card),'4',rtrim(a.scdt),'','1','3320','0' from tb_down_eviaa a,tb_down_cdsia b,tb_app_idty c,tb_app_utno d where a.scdt='20050809' and a.cuno IS NOT null  and ( a.cadt IS  null OR a.CADT='0' ) and a.cuno=b.cuno and b.idty=c.idty and a.utno=d.utno  and (     (  cpcidty='1' and ( len(rtrim(b.idno))=15 or  len(rtrim(b.idno))=18  )   ) or cpcidty!='1')"out "d:\tt.txt" -c -t |-U sa -P sa''请问是什么原因?我这句没有加字段名也不行呀!帮忙!
    谢谢!
      

  5.   

    sql语句是没有错的,我单单执行这句是对的select rtrim(b.incn),(case when rtrim(b.addr)<>'0'  then rtrim(b.addr) else ''end) ,(case when len(rtrim(pocd))=6 then rtrim(pocd) else ''end),(case when rtrim(b.tlno)<>'0' then rtrim(b.tlno) else ''end),rtrim(c.cpcidty),rtrim(b.idno),rtrim(d.utno_code),rtrim(a.card),'4',rtrim(a.scdt),'','1','3320','0' from tb_down_eviaa a,tb_down_cdsia b,tb_app_idty c,tb_app_utno d where a.scdt='20050809' and a.cuno IS NOT null  and ( a.cadt IS  null OR a.CADT='0' ) and a.cuno=b.cuno and b.idty=c.idty and a.utno=d.utno  and (     (  cpcidty='1' and ( len(rtrim(b.idno))=15 or  len(rtrim(b.idno))=18  )   ) or cpcidty!='1')
      

  6.   

    ---执行一下这个,语法的问题'. 下面的语法没问题了.
    exec master..xp_cmdshell '
    bcp 
    "select rtrim(b.incn),(case when rtrim(b.addr)<>''0''  
    then rtrim(b.addr) else ''''end) ,
    (case when len(rtrim(pocd))=6 then rtrim(pocd) else ''''end),
    (case when rtrim(b.tlno)<>''0'' then rtrim(b.tlno) else ''''end),
    rtrim(c.cpcidty),rtrim(b.idno),rtrim(d.utno_code),
    rtrim(a.card),''4'',rtrim(a.scdt),'''',''1'',''3320'',''0'' 
    from tb_down_eviaa a,tb_down_cdsia b,tb_app_idty c,tb_app_utno d 
    where a.scdt=''20050809'' and a.cuno IS NOT null  
    and ( a.cadt IS  null OR a.CADT=''0'' ) 
    and a.cuno=b.cuno and b.idty=c.idty 
    and a.utno=d.utno  
    and ((  cpcidty=''1'' and ( len(rtrim(b.idno))=15 or  len(rtrim(b.idno))=18  )   ) 
    or cpcidty!=''1'')" out "d:\tt.txt" -c -t |-U sa -P password'
      

  7.   

    -----试验下面的能导出数据,但加上字段不可以
    exec master..xp_cmdshell '
    bcp 
    "select rtrim(b.incn),(case when rtrim(b.addr)<>''0''  
    then rtrim(b.addr) else ''''end) ,
    (case when len(rtrim(pocd))=6 then rtrim(pocd) else ''''end),
    (case when rtrim(b.tlno)<>''0'' then rtrim(b.tlno) else ''''end),
    rtrim(c.cpcidty),rtrim(b.idno),rtrim(d.utno_code),
    rtrim(a.card),''4'',rtrim(a.scdt),'''',''1'',''3320'',''0'' 
    from tb_down_eviaa a,tb_down_cdsia b,tb_app_idty c,tb_app_utno d 
    where a.scdt=''20050809'' and a.cuno IS NOT null  
    and ( a.cadt IS  null OR a.CADT=''0'' ) 
    and a.cuno=b.cuno and b.idty=c.idty 
    and a.utno=d.utno  
    and ((  cpcidty=''1'' and ( len(rtrim(b.idno))=15 or  len(rtrim(b.idno))=18  )   ) 
    or cpcidty!=''1'')" out "d:\tt.txt" -c -t |-U"sa" -P"password"'
      

  8.   

    ---下面是个简单的例子
    exec master..xp_cmdshell '
    bcp "Select * from Pubs.dbo.jobs" Queryout "d:\jobs.txt" -c -t"|" -S"服务器名" -U"sa" -P"sa"'
      

  9.   

    你在服务器上执行这个。把DYS_1换成你服务器的名字,生成的txt文件在服务器相应的地方。根据这个
    该你的代码吧。exec master..xp_cmdshell '
    bcp "Select * from Pubs.dbo.jobs" Queryout "d:\jobs.txt" -c -t"|" -S"DYS_1" -U"sa" -P"sa"'
      

  10.   

    现在不能试,只能明天再试试看了!谢谢各位了,特别是 ghostzxp(幽灵) 这位朋友,明天不行的话,再开一贴,麻烦各位了!
      

  11.   

    exec master..xp_cmdshell 'bcp "select ''姓名'',''班级'',''号码'' union all select rtrim(name) as 姓名,rtrim(bt) as 班级,rtrim(num) as 号码 from 库名.dbo.tbt" queryout "c:\test.txt" /T /t"|" /c'