我写了一个存储过程,将生成一个XML字符串,但在生成时会自动截断,请问这是什么原因!用的是 select ***** from *****  FOR XML RAW('M')生成时
<M APP_NO="30400316B001" PATIENT_ID="Z30400316" NAME="王洪艳" SEX="女" AGE="31岁" DATE_OF_BIRTH="1979-05-17" BIRTH_PLAC="360300" PHONE_NUMBER="15179993006" ZIP_CODE="337000" MAILING_ADDRESS="安源区鹅湖管理处德顺和小区" INPATIENT_ID="30400316" INPATIENT_NO="296077" CLIN_SYMP后面的就截断了,不显示了请高手解答

解决方案 »

  1.   

    1、字符串长度定义为max
    2、要显示的时候,设置下可以显示的字符最大数
      

  2.   

    加个type,显示结果用网格显示。
    前台获取时用Sqltype.xml
      

  3.   

    定义成varchar(max)类型的保存试试。
      

  4.   

    不是定义字符串长度的问题,我直接在查询分析器中使用,
    使用FOR XML FOR XML RAW('M')
    就不能查出所有的记录,只会显示一个长度范围内的结果,后面的就截断了。
    使用FRO XML AUTO 可能查出所有的记录出来有请高手了!!!
      

  5.   

    以网络的形式显示结果,
    for xml raw('M'),type加个type,在网络结果中,点击
      

  6.   

    SELECT 
    @APP_NO as 'APP_NO',
    @PATIENT_ID AS 'PATIENT_ID' ,
    @NAME AS 'NAME',
    @SEX AS 'SEX',
    @AGE AS 'AGE',
    convert(char(10),@DATE_OF_BIRTH,20) AS 'DATE_OF_BIRTH',
    @BIRTH_PLAC AS 'BIRTH_PLAC',
    @PHONE_NUMBER AS 'PHONE_NUMBER',
    @ZIP_CODE AS 'ZIP_CODE',
    @MAILING_ADDRESS AS 'MAILING_ADDRESS',
    @INPATIENT_ID AS 'INPATIENT_ID',
    @INPATIENT_NO AS 'INPATIENT_NO',
    @BED_NO AS 'BED_NO',
    (SELECT MC FROM ZY_SYS2_EXAM_CLASS WHERE BM=@EXAM_CLASS) AS 'EXAM_CLASS',
    @CLIN_SYMP AS 'CLIN_SYMP',
    @PHYS_SIGN AS 'PHYS_SIGN',
    @RELEVANT_LAB_TEST AS 'RELEVANT_LAB_TEST',
    @RELEVANT_DIAG AS 'RELEVANT_DIAG',
    @CLIN_DIAG AS 'CLIN_DIAG',
    '7101' AS 'PERFORMED_BY',
    @PATIENT_SOURCE AS 'PATIENT_SOURCE',
    convert(char(19),@REQ_DATE_TIME,20) AS 'REQ_DATE_TIME',
    @REQ_DEPT AS 'REQ_DEPT',
    @REQ_DEPT_NAME AS 'REQ_DEPT_NAME',
    @REQ_PHYSICIAN AS 'REQ_PHYSICIAN',
    @REQ_PHYSICIAN_UID AS 'REQ_PHYSICIAN_UID',
    0 AS 'COSTS',
    0 AS 'CHARGES',
    @EMERGENT AS 'EMERGENT'
    FOR XML RAW('M'),type查出的内容是
    <M APP_NO="30006541B001" PATIENT_ID="Z30006541" NAME="刘南生" SEX="男" AGE="59岁" DATE_OF_BIRTH="1952-03-10" BIRTH_PLAC="360300" PHONE_NUMBER="6867618" ZIP_CODE="337000" MAILING_ADDRESS="安源区八一街包家冲社区" INPATIENT_ID="30006541" INPATIENT_NO="314018" BED_NO="1  " EX后面没有查出来,就截断了,再请高手呀
      

  7.   

    已经处理好,这好像是在查询分析器中查询的话显示不完全,
    只有加一个处理,将这些生成的XML存入到一个TEXT的字段中,再通过前台取出来,没有问题,
    不管了,急,就这样处理了。