怎樣用SQL 2000 生成XML

2022-05-06 19:36:12 字數 1245 閱讀 2026

以前在介紹sql2k的時候已經提到了sql2k對xml的支援,使用for xml語句就可以很容易的把執行的結果轉化為乙個xml,這樣可以在很大程度上提高系統執行效率和開發速度,詳細的內容請參見books online。

但是在使用ado(required ado 2.6)訪問返回的xml的方式和原來的recordset是有所不同的。如果你還是使用recordset訪問的話,只能得到乙個unicode格式的xml schema,而無法得到xml的內容。

其實這個問題也是很容易就能解決的,只是我自以為很熟悉ado,沒有仔細看help,所以沒有發現ado是採用stream的方式來得到和返回xml的。

command 物件有兩個屬性,叫input stream和output stream,屬性的值是乙個iunknown介面。可以把乙個xml parser的介面賦給它,或者是直接用request、response等。這樣的好處是不需要再去生成乙個recordset,不需要去儲存這些資料,從而節省了系統開銷。

下面給大家乙個簡單的把xml用response返回的example:

<%@ language=vbscript %>

<%

dim objconn, objcmd, i

set objconn = server.createobject("adodb.connection")

objconn.open "provider=sqloledb.1;password=;persist security info=true;user id=sa;initial catalog=pba;data source=(local)"

set objcmd = server.createobject("adodb.command")

objcmd.activeconnection = objconn

objcmd.properties("output stream") = response

objcmd.properties("xml root") = "root"

objcmd.commandtext = "select * from userstatus for xml auto"

response.contenttype = "text/xml"

objcmd.execute i, , adexecutestream

set objcmd = nothing

objconn.close

set objconn = nothing

%>

用SQL 2000傳輸資料

microsoft sql server 2000提供了資料傳輸服務 dts 工具,這讓完全不同的系統之間傳輸資料變得更加高效 方便。sql server enterprise manager的客戶介面也提供這個工具。現在我們來更加仔細地看看如何訪問和使用dts。在我的例子中間,我會把資料從sql ...

SQL 2000發生錯誤1069

發生錯誤1069 由於登入失敗而無法啟動服務 此時正在mssqlserver服務上執行該服務操作 如果服務被乙個沒有 登入服務 許可權的帳戶所啟動時會發生1069錯誤。解決該問題的方法是給予該帳戶以 登入服務 許可權。具體到mssqlserver的問題,如果在安裝在windows xp上安裝sql ...

怎樣用PHP生成html檔案

怎樣用php生成html檔案 2004 06 27 摘自 怎樣用php生成html檔案?總結一 貼子發出後,得到們的熱烈響應和幫助,為回報各位村民,特把有效回貼整理出 1,matrix two max的發貼 fp fopen templets.html a if fp else 簡單的將模板寫進乙個...