bcp "select * from ##my_result" queryout '+ @fileBody + ' -c -t, -T -S'
sqlserver2008 我用bcp命令导数据
结果发现 上面的不能到中文  (中文字符出来都是乱码 )问上面的命令如何修改 ??

解决方案 »

  1.   

    bcp 加参数可以实现中文数据没有异常导出?
      

  2.   

    exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人表 where 单位ID=''1000''" queryout d:\dddt.txt -c -T '或者exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人表 where 单位ID=''1000''" queryout d:\dddt.txt -c -U"sa" -P"mima" '具体 说明如下:BCP.EXE {database.owner.dbtable | query} {in | out | queryout | format} datafile
       [-m maxerrors]             [-f formatfile]        [-e errfile]
       [-F firstrow]              [-L lastrow]           [-b batchsize]
       [-n native type]           [-c character type]    [-w wide character type]
       [-N keep non-text native] [-6 6x file format]    [-q quoted identifier]
       [-C code page specifier]   [-t field terminator] [-r row terminator]
       [-i inputfile]             [-o outfile]           [-a packetsize]
       [-S server name]           [-U username]          [-P password]
       [-T trusted connection]    [-v version]           [-R regional enable]
       [-k keep null values]      [-E keep identity values]
       [-h "load hints"]
    语法说明如下:
    database   需要访问的数据库名字
    owner     所访问表或者视图的用户名字
    dbtable    所访问的表或者视图
    query     产生一个结果集的SQL语句,当然语句要用双引号引起来
    in out queryout format 数据传输的方向。In表示导入,out表示导出。
    Datafile   导入时的源数据文件名或者是导出生成的文件名字。
    上面是BCP的语法说明,下面讲讲一些经常使用到的参数
    [-f formatfile]    用来输入输出格式的文件名字,可以包含有路径
    [-U username]   登陆数据库的表示符
    [-P password]   登陆数据库的口令
    [-S server name]   数据库的名字,如果是两台服务器之间导入导出必须要填写
    [-c character type]   字符数据模式,在使用了该模式以后就不需要使用-f这个参数
    其他的参数可以在SQL的帮助中找到,我就不详细介绍了。
    操作的模式:
        在使用BCP导入数据时,有两种模式:快速和慢速模式。快速模式绕过事务日志,慢速模式将所有数据都记录在事务日志中。
        在使用BCP之前为了能够运行在快速模式下,你首先需要把数据库的SELECT INTO/BULK COPY设置成TURE。
        通过BCP直接向数据库导入数据时,需要考虑你的导入的表中的触发器,规则,索引等。BCP对触发器和规则是不强制处理的。
     set @x = 'bcp "select ''' + @Headers + '''" queryout '+ @fileHeader+ ' -w -t, -T -S';
      

  3.   

    exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人表 where 单位ID=''1000''" queryout d:\dddt.txt -c -U"sa" -P"mima" '这个会产生乱码这个如何解决》??
      

  4.   

    queryout d:\dddt.txt -c
    改为
    queryout d:\dddt.txt -w