2013-08-20 5 views
2

Я использую следующий скрипт в SQL Server 2005 для создания вывода XMLSQL Server 2005 для ограничения XML

select 
    mst.Reference "Reference", 
    convert(varchar(10), mst.CreatedOn, 121) "Date_Created", 
    convert(varchar(10), mst.DueOn, 121) "Date_Due", 
    isnull(mst.Amount1, 0.00) "Amt_1", 
    isnull(mst.Tax1, 0.00) "Tax_1", 
    isnull(mst.Item_Count, 0.00) "No_Of_Items", 
    isnull(mst.Amount2, 0.00) "Amt_2", 
    isnull(mst.Tax2, 0.00) "Tax_2", 
    isnull(mst.Total, 0.00) "Total", 
    isnull(mst.Note, '') "Notes", 
    (select 
     det.Reference "Reference", 
     det.Itm_Num "Order", 
     isnull(det.Description, '') "Description", 
     det.Code "Code", 
     isnull(det.Amount1, 0.00) "Amt_1", 
     isnull(det.Tax1, 0.00) "Tax_1", 
     isnull(det.Amount2, 0.00) "Amt_2", 
     isnull(det.Tax2, 0.00) "Tax_2", 
     isnull(det.Note, '') "Notes" 
    from tblDetail det 
    where det.Mst_Reference = mst.Reference 
    order by det.Itm_num 
    for xml path ('item'), type) 
from tblMaster mst 
for xml path ('master'), root('root'), type 

Это, однако, возвращая мне пустой XML без каких-либо ошибок, но если я могу изменить его, чтобы просто принести 4 записи от созданного им мастера и возвращает xml. Есть ли ограничение на отсутствие записей о создании xml?

благодаря

+0

Как вы применяете четыре предела записи? –

+1

сколько записей у вас в вашем столе? как вы проверяете, что xml пуст? –

+0

Я только что пробовал пробную версию и обнаружил, что он возвращал 4 записи ... но я думаю, что это значение может увеличить уменьшение, основанное на отсутствии записей в таблице deail ... –

ответ

3

У меня есть ощущение, что вы превышаете размер SSMS данных будет позволяющим отображаться. Попробуйте изменить размер в SSMS здесь:

Сервис -> Параметры -> Результаты запроса -> SQL Srver -> Результаты по сетке -> данные XML

Изменить 2MB к чему-то большему

+0

Я проверил и установлен на 2 ГБ ... –

+0

Какую версию SSMS вы используете? Я вижу только 1MB, 2MB, 5MB или «unlimited» в качестве единственных опций. – etliens

+0

Что запускает DATALENGTH() по вашему запросу? например: ВЫБРАТЬ DATALENGTH ( ( ВЫБРАТЬ * ИЗ FOR XML AUTO, ТИП ) ); – etliens

Смежные вопросы