XML을 반환하는 저장된 proc가 있습니다. MS SQL Management Studio에서 실행할 때 제대로 작동합니다. proc를 실행하고 결과 XML을 가져 와서 파일에 쓰려면 C# 코드를 작성해야합니다. 코드를 작성하고 proc (프로파일 러를 사용하여 검사 한)을 실행하며 오류는 없지만 XmlReader는 비어 있습니다. 내 코드는 무엇인가 같다 : 나는 1 시저가 생성하는 XML을 포함하는 일반 문자열을 반환하는 2 저장된 프로 시저를 만든 비교 테스트로SQL Server에서 null 결과 얻기 XML을 반환하는 proc stored
using (SqlConnection c = new SqlConnection(-snip-))
{
c.Open();
SqlCommand myCommand = new SqlCommand("sp_formfill_contract_xml", c);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.AddWithValue("@i_contract_id", frm_contract_id.Text.ToString());
System.Xml.XmlReader xmlr = myCommand.ExecuteXmlReader();
xmlr.Read();
while (xmlr.ReadState != System.Xml.ReadState.EndOfFile)
{
MessageBox.Show(xmlr.ReadOuterXml());
// do stuff with the XML snippet here
}
c.Close();
}
및 C# 코드는 수신 잘, 너무 오래로 나는 XML 리더를 사용하지 않는다. 따라서 XML proc이 반환하는 데이터의 종류와 관련이있어서 비어있는 것처럼 보입니다.
아이디어가 있으십니까? -Sean
어떤 버전의 sql-server? 선택으로 XML로 돌아오고 있습니까? http://www.mssqltips.com/sqlservertip/1077/returning-xml-result-sets-with-sql-server/ 또는 일반 텍스트 (varchar)로 표시합니까? –