2012-02-03 2 views
1

XML에서 쿼리를 실행하고 FOR XML EXPLICIT을 사용하여 XML 파일로 변환합니다. 그리고 내가 파일을 많이 조회하려고 시도하지 않는다면이 방법이 효과적입니다.SQL Server FOR XML에 글자 수 제한이 있습니까?

ID가 400에서 500 사이 인 레코드를 쿼리하면 ID가 500에서 600 사이 인 레코드를 쿼리하려고하면 작동하지만 400에서 600까지 쿼리하려고하면 실패합니다.

Unable to show XML. The following error happened: '', hexadecimal value 0x1E, is an invalid character. Line 1457, position 107.

One solution is to increase the number of characters retrieved from the server for XML data. To change this setting, on the Tools menu, click Options.

좋아요 :

오류인가? 그 다음엔? 옵션에서 정확히 변경해야하는 부분은 무엇입니까?

편집 : 쿼리 결과> SQL Server> 그리드의 결과를 무제한으로 설정하면 XML 데이터를 무제한으로 설정할 수 없습니다.

편집 : 코드를 반환

<ExceptionDocument><Error><Message>'&#x1E;', hexadecimal value 0x1E, is an invalid character. Line 953, position 107.</Message><StackTrace> at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
    at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args) 
    at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Char[] data, Int32 length, Int32 invCharPos) 
    at System.Xml.XmlTextReaderImpl.ParseCDataOrComment(XmlNodeType type, Int32&amp; outStartPos, Int32&amp; outEndPos) 
    at System.Xml.XmlTextReaderImpl.ParseCDataOrComment(XmlNodeType type) 
    at System.Xml.XmlTextReaderImpl.ParseElementContent() 
    at System.Xml.XmlTextReaderImpl.Read() 
    at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) 
    at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) 
    at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) 
    at System.Xml.XmlDocument.Load(XmlReader reader) 
    at System.Xml.XmlDocument.LoadXml(String xml) 
    at SitePublisher.Base.BasePub.ExecuteCommand(String sql, Int32 attempt, NameValueCollection parameters)</StackTrace><InnerException /></Error></ExceptionDocument> 

편집 : 나는에 0x1E을 추측하고있어 파일 문자의 끝입니다.

편집 : 내 첫 진술이 잘못되었을 수도 있고 데이터가 손상되었다고 생각합니다. 그것은 항상 레코드 426에 대한 에러를 반환합니다.

+0

아니야, 내가 그 물마루 코드 (C#)를 실행하려고하면 같은 오류가 발생합니다. – NomenNescio

+0

C#에서 ADO.NET과 동일한 오류가 발생하는 경우는 없습니다. 예외 결과를 게시하십시오. 나는 '도구 메뉴에서이 설정을 변경하라'고 말하는 것을 매우 의심 스럽습니다 ... – Yuck

+0

글쎄, 쿼리가 실행되지만 0x1E 오류와 함께 가비지가 반환됩니다. 나는 그것을 추가 할 것이다. – NomenNescio

답변

1

분명히 잘못된 문자 였고, 메모장에 RS로 나타났습니다. SQL 관리 스튜디오가 준 오류는 완전히 저를 벗어났습니다.

관련 문제