select 字段列表  from 表名
for xml ...

解决方案 »

  1.   

    /*--用ADO存储XML
    --*/declare @err int,@src varchar(255),@desc varchar(255)
    declare @obj int,@str varchar(1000)
    set @str='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='
    +db_name()+';Data Source='+@@servername
    --上面是用ADO连接SQL的字符串,根据你的情况做调整
    /*--ADO连接SQL的字符串模板
    @str='Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名'
    --*/exec @err=sp_oacreate 'adodb.recordset',@obj out
    if @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,'地区资料',@str  --地区资料是要保存的表名
    if @err<>0 goto lberrexec master..xp_cmdshell 'del c:\a.xml'              --c:\a.xml是要生成的xml文件名
    exec @err=sp_oamethod @obj,'save',null,'c:\a.xml',1
    if @err<>0 goto lberrexec @err=sp_oadestroy @obj
    returnlberr:
    exec sp_oageterrorinfo 0,@src out,@desc out
    select cast(@err as varbinary(4)) as 错误号
    ,@src as 错误源,@desc as 错误描述
    go
      

  2.   

    不好意思,是不是只要在SQL Server 的查询分析器中运行上述语句就可以了
      

  3.   

    如果我在SQL Server中有一张表,有销售企业,批准文号,通用名,生产厂家,规格,批号等字段
    如何才能将它如下格式的XML文件?
    <?xml version="1.0" encoding="GBK"?>
    <trans_list>
    <!-- 开始一笔药品销售 -->
    <trans>
    <main>
    <s_ent_name>销售企业</s_ent_name> 
       <pass_num>批准文号</pass_num> 
       <drug_name>药品通用名</drug_name> 
       <goods_manu>生产厂家</goods_manu> 
       <standard>规格</standard>  
       <lot_num>批号</lot_num> 
      </main>
    </trans>