문제

필요 내용을 반환 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 문서를 살펴보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top