가장 간단한 방법을 출력 XML 에서 SQL 서버 클라이언트
-
03-07-2019 - |
문제
필요 내용을 반환 xml 열 sql 서버 클라이언트에 의해 단순히 URL 을 클릭하면.Xml 는 처리 지침을 열려면 올바른 응용 프로그램(Infopath 이 경우).
내가 혼동하는 모든 다양한 형식화된 데이터 읽기 작가와 스트림을 사용할 수 있다.내가 보고의 내용을 sql 을 반환되는 행을 모두를 응답입니다.OutputStream-지만 어을 수직 그들을 함께합니다.
감사가 사전
해결책 4
XML을 텍스트로 사용하여 간단히 사용하여 작동했지만 실제로 XMLREADERS 및 스트림을 사용해야하는지 확실하지 않습니다. 내가 한 일은 다음과 같습니다.
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select Name, InfopathDoc from document where id = @id";
cmd.Parameters.AddWithValue("@id", docId);
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
Response.ContentType = "application/xml";
Response.AppendHeader("Content-disposition", "attachment; filename=" + dr["Name"]);
Response.Write(dr["InfopathDoc"]);
}
다른 팁
데이터베이스에서 XML을 텍스트로 가져온 다음 페이지를 동적으로 만들고 헤더의 MIME 유형을 "Application/XML"으로 설정하는 것이 좋습니다. 이를 통해 브라우저를 DTRT로 알려야합니다 (올바르게 구성되었다고 가정).
웹 애플리케이션으로 작업하지 않으면 RES를 사용하여 텍스트를 구문 분석하고 출시 할 응용 프로그램을 결정한 다음 XML을 공급할 수 있습니다 (온도 파일 사용 또는 일부 유형의 입력 리디렉션을 통해).
XML 및 SQL Server를 넘어 사용하는 기술을 표시하지 않기 때문에 실제로 구체적이기가 어렵습니다.
왜 당신은 쿼리 데이터베이스 표준을 사용하여 SQL 의 내용에 대한 XML 을 열고는 페이지에서트는 문자열을 사용자에게 돌려?
다음과 같습니다.
string xmlContents = string.Empty;
using(SqlConnection _con = new SqlConnection("server=(local);database=Northwind;Integrated Security=SSPI;")
{
string queryStatement = "SELECT XmlColumn FROM dbo.MyTable WHERE id = @ID";
using(SqlCommand _cmd = new SqlCommand(queryStatement, _con)
{
_cmd.Parameters.AddWithValue("@ID", 5555);
_con.Open();
xmlContents = _cmd.ExecuteScalar().ToString(); // returns an object
_con.Close();
}
}
다음 그림을 다시 XML 을 사용자,예를 들어,를 사용하여 응답입니다.쓰(xmlContents)-무언가를 약와 함께 사람들인(오류 처리를 포함하다-나는 당신을 처리:-)).
는 데 도움이 어떤??
마크
SQL 2005 및 지원을 넘어서 FOR XML
성명. 보다 여기
예를 들어:
SELECT * FROM MyTable FOR XML RAW;
XML 태그 이름을 Datrabase 열과 다르기 위해 조정하기위한 다른 키워드가 있습니다.
그런 다음 C#에 사용하는 명령 클래스에 대해 ExecutexMlReader 문서를 살펴보십시오.