大家好:
请问为什么DECLARE @x xml--查询生成XML结果并存储到TT表中SET @x=( SELECT x,y FROM CFM..Test_blan FOR XML AUTO)INSERT CFM..testtable VALUES(@x)--通过bcp将TT中的XML结果输出EXEC CFM..xp_cmdshell 'bcp CFM..testtable out e:\123.xml -c -T -k'//执行这条命令以后 无法在E盘显示出 123.XML 这个文件呢 ?为什么 结果是 第一个是NULL 第二个是 开始复制。。 第三个也是NULL 但是提示成功

解决方案 »

  1.   

    EXEC CFM..xp_cmdshell 'bcp CFM..testtable out e:\123.xml -c -T -k'//执行这条命令以后 无法在E盘显示出 
    -->
    EXEC master..xp_cmdshell 'bcp CFM..testtable out e:\123.xml -c -T -k'//执行这条命令以后 无法在E盘显示出 
      

  2.   

    查看下CFM..testtable 有没有数据
      

  3.   

    EXEC master..xp_cmdshell 'bcp CFM..testtable out e:\123.xml -c -T -k'
    依旧找不到 123.xml
      

  4.   

    如果是 xml,要指定format选项和xml选项
    -f format_file
    format_file表示格式文件名。这个选项依赖于上述的动作,如果使用的是in或out,format_file表示已经存在的格式文件,如果使用的是format则表示是要生成的格式文件。
    -x 
    这个选项要和-f format_file配合使用,以便生成xml格式的格式文件
    SQL Server数据导入导出工具BCP详解
    http://database.51cto.com/art/200701/37924.htm
      

  5.   

    testtable 有数据的 <CFM..Test_blan x="ll" y="cc" />
    <CFM..Test_blan x="xx" y="sdf" />
    <CFM..Test_blan x="dddd" y="aaaa" />
    <CFM..Test_blan x="zzzz" y="bbbbb" />
    <CFM..Test_blan x="qqqqq" y="dddd" />
    <CFM..Test_blan x="qqqqq" y="ggggg" />
      

  6.   

    7楼的 您的意思 就是 
    <CFM..Test_blan x="ll" y="cc" /> 
    <CFM..Test_blan x="xx" y="sdf" /> 
    <CFM..Test_blan x="dddd" y="aaaa" /> 
    <CFM..Test_blan x="zzzz" y="bbbbb" /> 
    <CFM..Test_blan x="qqqqq" y="dddd" /> 
    <CFM..Test_blan x="qqqqq" y="ggggg" />这样的格式 不适合 格式化 所有产生不了 XML?
      

  7.   

    不报错 。
    描述信息为 OUTPUT
      1 NULL
      2开始复制。。
      3 NULL
      4 已复制6行 //我觉得这里已经对了啊 是6行数据啊
      5 数据包大小
      6 时间。。、 
      7 NULL
      

  8.   

    -e err_file 
    指定错误文件的完整路径,此文件用于存储 bcp 无法从文件传输到数据库的所有行。bcp 命令产生的错误消息将被发送到用户的工作站。如果不使用此选项,则不会创建错误文件。你加个参数,看看错误文件里面有什么信息.
      

  9.   

    创建格式化文件
    http://msdn.microsoft.com/zh-cn/library/ms191516.aspx
    bcp AdventureWorks.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T
      

  10.   

    bcp: 选项 - 未知
    用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
      [-m 最大错误数]             [-f 格式化文件]         [-e 错误文件]
      [-F 首行]                   [-L 末行]             [-b 批大小]
      [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]
      [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]
      [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]
      [-i 输入文件]               [-o 输出文件]         [-a 数据包大小]
      [-S 服务器名称]             [-U 用户名]           [-P 密码]
      [-T 可信连接]               [-v 版本]             [-R 允许使用区域设置]
      [-k 保留空值]               [-E 保留标识值]
      [-h"加载提示"]              [-x 生成 xml 格式化文件]
    NULL 加了 E 出这个了 貌似没用
      

  11.   

    估计你连的不是自己电脑的SQL SERVER,你以为这样用了,会导到你的电脑E盘,实际上这是在SQL SERVER所在的服务器的E盘下.
      

  12.   

    。。  我不想说什么了
    给分 结帖,。,
    原来 服务器没E盘
    我汗 神啊。 我是远程登录的  一直在看 自己的机器。。SORRY实在对不起大家 
      

  13.   

    你继续使用命令"xp_cmdshell 'type e:\123.xml'",如果有显示,就被我说中了.
      

  14.   

    微软官员 居然被我早想到 厉害啊以后多来这里 学习哎 BORLAND 不行了 以后 不知道 学什么了 学BCB 是费掉了 工作以后都难 现在只会弄简单的C# 哎 心碎了无痕
      

  15.   

    实在不好意思 , 分太少了 ,以后努力赚再分给大家。。 谢谢第一次来 就怎么感动BORLAND 发帖子 1天都没人回。。这个板 真强
      

  16.   

    exec master..xp_cmdshell 'bcp "master.dbo.sysobjects" out "d:\1.txt" -c -t -U "sa" -P ""'