A. mybatis可以從後台將帶參數的sql傳到xml中嗎
給你一襲逗伍個可行的操作,就是帶參數的sql,在傳進 mybatis xml 之前,將sql 中的參數指野先替換掉(變為不帶參數的 sql)拍或,再傳到後台就可以啦。至於說道,怎麼將參數替換掉,這個可以思考一下,mybatis 好像有提供現成的 api。其實自己實現也不是很難的。
B. 如何從SQL資料庫中讀取數據並保存到XML文件中
用asp讀取資料庫SQL保存到HTML,試試導出行不
C. 怎樣把sql2005資料庫表中的內容生成xml文件
DataSet ds = new DataSet();
ds.WriteXml("d:\\1.xml"戚歲虧);
ds.ReadXml("d:\\雀啟1.xml"高神);
D. 怎麼把資料庫內容寫到xml文件中
網上的,可以參考一下
<%
』by dicky 2005-03-22 21:52:18 am qq:25941 e-mail:[email protected]
const issql = 1 』定義資料庫類型為sql server
call openconn(conn) 』打開資料庫連接
dim rs,sql
set rs = server.createobject("adodb.recordset")
sql = "select * from procts order by proctname"
rs.open sql,conn,1,1 』以只讀方式晌好查詢數據記錄
if rs.eof then
response.write "sorry,no record!" 』如果沒有記錄首謹吵
else
dim objxmldom, objrootnode, objnode
set objxmldom = server.createobject("msxml2.domdocument") 』創建xml文件對象
set objrootnode = objxmldom.createelement("xml") 』創建根節點
objxmldom.documentelement = objrootnode
do while not rs.eof 』循環出所有記錄
』 response.write rs("proctname") &"<br>"
set objrownode = objxmldom.createelement("row") 』創建父節點
set objnode = objxmldom.createelement("proctname") 』創建子節點
objnode.text = rs("proctname")
objrownode.appendchild(objnode)
set objnode = objxmldom.createelement("unitprice")
objnode.text = rs("unitprice")
objrownode.appendchild(objnode)
set objnode = objxmldom.createelement("unitsinstock")
objnode.text = rs("unitsinstock")
objrownode.appendchild(objnode)
objrootnode.appendchild(objrownode)
rs.movenext:loop 』循環結束
objxmldom.save "d:\myxmldoc.xml" 』寫者侍入xml文件 能用變數讓用戶在頁面上自定義文件名
response.write "<script>alert(』恭喜,寫入xml文件成功!』);</script>"
set objnode = nothing 』銷毀對象
set objrownode = nothing 』銷毀對象
set objrootnode = nothing 』銷毀對象
end if
rs.close
set rs = nothing
call closeconn() 』關閉資料庫連接
function openconn(conn) 』打開資料庫連接
dim connstr
if issql = 1 then 』如果是sql server資料庫
』sql server資料庫連接參數:用戶名、用戶密碼、資料庫名、連接名(本地用local,外地用ip)
dim sqlusername,sqlpassword,sqldatabasename,sqllocalname
sqlusername = "sa"
sqlpassword = ""
sqldatabasename = "northwind"
sqllocalname = "(local)"
connstr = "provider = sqloledb; user id = " & sqlusername & "; password = " & sqlpassword & "; initial catalog = " & sqldatabasename & "; data source = " & sqllocalname & ";"
else 』如果是access資料庫
dim db
』第一次使用請修改本處資料庫地址並相應修改資料庫名稱,如將dicky.mdb修改為dicky.asp(防止惡意下載access資料庫)
db = "dicky.mdb"
connstr = "provider = microsoft.jet.oledb.4.0;data source = " & server.mappath(db)
end if
on error resume next
set conn = server.createobject("adodb.connection")
conn.open connstr
if err then
』 err.clear
set conn = nothing
response.write "資料庫連接出錯,請檢查連接字串。"
response.end
end if
set rs = server.createobject("adodb.recordset")
end function
function closeconn() 』關閉資料庫連接
conn.close
set conn = nothing
end function
%>
E. 在xml文件中插入sql語句
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.ContentType="application/xml"
Response.Charset="utf-8"
response.cachecontrol="no-cache"
response.addHeader "pragma","no-cache"
response.expires=-1
response.expiresAbsolute=now-1
db="file.mdb" '資料庫路徑,相對路徑
set conn = server.CreateObject("adodb.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
Response.Write("<?xml version=""1.0"" encoding=""utf-8""?>")
set rs=Server.CreateObject("adodb.recordset")
rs.open "SELECT * FROM [file]",conn,1,1
if rs.Eof and rs.Bof then
Response.Write("<vcaster>")
Response.Write ("<item item_url=""no file"" item_title=""no file"">")
Response.Write("</item>")
Response.Write ("</vcaster>")
else
Response.Write("<vcaster>")
do while Not rs.Eof
Response.Write ("<item item_url="""&rs("fileurl")&""" item_title="""&rs("name")&""">")
Response.Write("</item>")
if rs.Eof then
Exit do
End if
rs.MoveNext
Loop
Response.Write ("</vcaster>")
End if
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
%>
F. sql 2005資料庫 如何操作xml
查詢操作
在定義了一個XML類型的數據之後,我們最常用的就是查詢操作,下面我們來介紹如何使用SQL語句來進行查詢操作的。
在T-Sql中,提供了兩個對XML類型數據進行查詢的函數,分別是query(xquery)和value(xquery,
dataType),其中,query(xquery)得到的是帶有標簽的數據,而value(xquery,
dataType)得到的則是標簽的內容。接下類我們分別使用這兩個函數來進行查詢。
1
、使用query(xquery)
查詢
我們需要得到書的標題(title),使用query(xquery)來進行查詢,查詢語句為:
select
@xmlDoc.query('/book/title')
2
、使用value(xquery,
dataType)
查詢
同樣是得到書的標題,使用value函數,需要指明兩個參數,一個為xquery,
另一個為得到數據的類型。看下面的查詢語句:
select
@xmlDoc.value('(/book/title)[1]',
'nvarchar(max)')
3
、查詢屬性值
無論是使用query還是value,都可以很容易的得到一個節點的某個屬性值,例如,我們很希望得到book節點的id,我們這里使用value方法進行查詢,語句為:
select
@xmlDoc.value('(/book/@id)[1]',
'nvarchar(max)')
4
、使用xpath進行查詢
xpath是統一的Xml查詢語句。使用XPath可以方便的得到想要的節點,而不用使用where語句。例如,我們在@xmlDoc中添加了另外一個節點
例如
:得到id為0002的book節點
select
@xmlDoc.query('(/root/book[@id="0002"])')
參考資料:SQL如何操作Xml欄位
http://www.studyofnet.com/news/490.html
G. 使SQL Server數據支持 XML
學習如何用SQL Server的XML特徵為你的資料庫提供新的功能 如果你在IT業工作 那麼你很可能聽說過XML 但如果你的工作主要與SQL Server有關 那麼你可能並沒有直接運用過XML XML已經是Web編程環境中的普遍的數據格式了譽者 而且它也是 NET Framework中主要的底層技術之一 SQL Server以兩種方式來支持XML 通過SQL Server本身的功能 以及通過發布稱為SQLXML的額外的功能 SQLXML擴展了SQL Server 並提供了XML兼容性 在本月的專欄中 我將講述SQL Server對XML的內置的支持 並講述通過發布SQLXML而增加的一些功能(見 圖 ) SQL Server支持XML就意味著 我們可以更有效地更新和讀取數據了 我們不再需要將XML數據轉換成資料庫可以理解的另一種格式 或將XML數據從資料庫轉換成XML 而且 可供開發人員選擇的方法也更多了 就是說 他們在訪問數據方面更靈活了 對XML的宣傳已經有很多了 所以重要的一點是要意識到它只是一門簡單的技術 本質上 它是用來描述數據的一個標準的文件格式 (有關XML基礎知識的更多的信息 請參閱工具條 XML )從發布SQL Server 的最初版本以來 對XML的支持就已經是SQL Server的一部分了 SQL Server不是通過提供一個方法保存XML文件來支持XML的 而是提供了一個到關系數據的介面 使你可以在表和其它資料庫對象中讀寫XML數據 SQL Server所固有的XML功能包括 可以通過HTTP 模板查詢 FOR XML子句和OPENXML()函數來訪問SQL Server 接下來 我將講述這些功能是如何運作的 以及它們可以如何使你的企業受益 圖 提供 XML支持 要通過HTTP訪問一個SQL Server資料庫 你必須首先設置一個虛擬目錄 這個虛擬目錄在HTTP協議和一個特定的資料庫之間提供了一個鏈接 設置虛擬目錄時 我們需要用 Configure SQL XML Support In IIS 菜單條目 你可以在Window的Start菜單中的SQL Server菜單條目找到該項 通過該菜單條目 你就可以指定虛擬目錄的名稱 物理路徑 伺服器名稱 資料庫名稱和注冊信息 一旦你創建了一個虛擬目錄 你就可以通過一個URL將查詢發送到資料庫了 如果你設置了一個叫做Northwind的虛擬目錄 並在瀏覽器中輸首悔入了查//localhost/Northwind?sql=SELECT+*+FROM+Shippers+FOR+XML+AUTO ELEMENTS+&root=Shippers 它就會返回類似於 XML 工具條中的Shippers例子中的XML數據 與運用ADO或其它任何技術相比 HTTP查詢會讓我們更容易地來訪問網站或Web應用程序的數據 對於一個簡單的查詢語句來說 HTTP查詢會很好 但對於一個更復雜的查詢來說 這種格式就會變得難以理解並很難管理了 這種方法也不安全 因為查詢源代碼是暴露給用戶的 另外一種可選方法是在者虛正HTTP上調用一個模板查詢 一個模板查詢就是一個包含SQL查詢的XML文件 模板作為文件保存在伺服器上 因此 如果你在一個叫做GetShippers xml的模板中封裝了Shippers SELECT查詢 那麼URL查詢的形式就會是 模板也可以帶有參數 當你的模板調用一個存儲過程時 該功能會很有用 在URL查詢和模板查詢中 如果你想從查詢返回一個HTML頁面 那麼你可以指定一個XSLT樣式表 將它用於XML 模板查詢是讀取數據的一個更安全的方法 它可以被緩存以得到更好的性能 你也可以用FOR XML子句將數據讀取成XML格式 該方法從SQL Server表中返回數據 你可以把它們看做是XML數據 你可以在一個SELECT語句中運用FOR XML子句 它有三種模式可以以不同的格式來返回XML RAW AUTO和EXPLICIT RAW模式將結果中的每個記錄作為一個普通的行元素來返回 它被包含在一個<row/>標簽中 並將每個列的值作為一個屬性 AUTO模式將每個記錄作為行元素返回 根據源表或視圖對它進行命名 如果查詢從一個表返回多個列 那麼每個列的值就會被作為表元素的屬性來返回 但最重要的是 如果你的SELECT語句執行了合並操作 那麼AUTO模式就代表的是子行 它們作為元素嵌套在父行下 EXPLICIT模式有幾個參數 你可以通過這些參數完全定義返回的XML的樣式 你可以為每個元素定義標簽 明確確定數據是如何嵌套的 FOR XML語句使我們不必再返回一個rowset 然後在客戶端或中間層將它轉換成XML了 OPENXML函數可以讓你像操作一個表那樣來運用XML數據 可以將它們轉換成內存中的一個rowset 要運用OPENXML 首先要調用sp_xml_preparedocument存儲過程 實際上 它將XML解析成一個數據樹 並將那個數據的句柄傳遞到OPENXML函數 然後你就可以操作那個數據了 進行查詢 將它插入到表中 等等 OPENXML函數可以帶有三個參數 用於XML文檔內部顯示的句柄 一個rowpattern參數和一個flags參數 Rowpattern參數指定了應該返回原始的XML文檔中的哪些節點 Flags參數指定了以屬性為中心的映射(結果集中列名符合屬性名)或以元素為中心的映射(結果集中列名符合元素名) 在處理完XML數據後 我們可以調用sp_xml_removedocument將XML數據從內存中刪除 通過SQLXML得到更多的支持 通過發布SQLXML(也被稱為Web版) Microsoft也在SQL Server中提供了更多的XML支持 已經有三個SQLXML的版本了 它們包含的一些額外的功能有updategram和XML Bulk Load 你可以在線下載最新的版本SQLXML (見資源) 你可以通過基於XML的模板 運用updategram來插入 更新或刪除表中的數據 該模板有一個before block 它描述了記錄更新前的當前狀態 還有一個after block 它描述了記錄的變化 下面就是updategram的一個例子 它修改了Shippers表中的一個公司的Phone欄位 在預設情況下 updategrams認為before block和after block中的欄位指的是表和列 但updategrams也可以用一個mapping schema Mapping schema將一個XML文檔中的元素與一個表中的元素關聯了起來 如果在上面的模板中 你引用屬性名SID 而不是ShipperID 那麼mapping schema就會將SID映射到ShipperID列 你可以通過HTTP(同模板查詢一樣)或通過ADO將updategrams發送到SQL Server 它們也可以被參數化 帶有輸入值 Updategrams提供了一個方法 使我們可以直接從XML更新SQL Server數據 這樣就不用從XML文檔得到數據 然後再用一個記錄集或調用一個存儲過程了 Updategrams只是可以簡單地插入 更新或刪除數據 所以如果你需要查看一個值是否存在 或在更新前查看一些商業規則 那麼你就應該用OPENXML 雖然你可以用OPENXML函數和updategrams來插入數據 但對於載入大量的XML數據來說 這兩種方法都不實用 你應該用XML Bulk Load將大量的XML數據插入到SQL Server表中 實際上 我們是用SQLXMLBulkLoad組件來載入數據的 你可以從一個客戶端應用程序來調用這個組件 在建立到資料庫的連接後 bulk load組件需要一個路徑來訪問mapping schema 從而將XML屬性和元素映射到資料庫對象 而且還需要路徑來訪問一個XML文檔或一個XML流 在Bulk Load組件中 你可以指定是否執行數據表檢查約束(check constraint) 是否忽略通過復制鍵添加的記錄 當插入數據時 是否應該鎖定數據表 等等 預設情況下 大量載入不是事務處理型(transactional)的 所以如果出現錯誤 截止到錯誤點前插入的數據就會保留在資料庫中 你可以指定所有載入的數據都是在一個單獨的事務處理過程中的 因此該過程要麼會十分成功 要麼會回滾 如果你用了事務處理 所有的數據在插入前都會被寫進一個臨時的文件 這就意味著 你需要足夠的磁碟空間來保存臨時文件 而且載入數據可能會相當慢 XML Bulk Load給我們提供了一個很好的方法 使我們可以將大量的數據寫到SQL Server中 否則 你就必須提取數據 然後用另外的方法將它載入到你的資料庫中 你也可以配置SQL Server來緩存XSLT樣式表 模板和mapping schema 從而得到更好的性能 根據具體實現情況 你可以在Web應用程序中用通過HTTP和XSLT的XML查詢來替代標準的ASP/ADO數據訪問 從而得到HTML輸出結果 這種方法可以極大地提高性能 以上就是SQL Server對XML的一些高級支持 不管我們對它的宣傳有多少 XML的功能就這么多了 因為XML是用來顯示數據的一個標准 也是用於 NET的數據傳輸技術 因此 XML與SQL Server的集成能力就會是企業需要解決的一個重要的問題 lishixin/Article/program/SQLServer/201311/22082
H. sql導入xml文件
我是一千道風在那裡吹過。
還有個個孩子為春天和花園里
你我是獨醉的那一杯,醇入心詩,芳入畫魂,
合著柔雲繞月
我迷失了方向,從軟綿綿的
曾悄悄的飄來哈哈
I. 怎麼能用SQL語句把查詢結果轉換給定格式的XML文件
在oracle中提供了許多內置的程序包,它們用於擴展資料庫的功能。在開發應用程序時,可以利用這些程序包。資料庫用戶sys擁有oracle提供的所有程序包。他們被定義為共有同義詞,並將執行許可權授予了public用戶組,任何用戶都可以訪問它們。其中DBMS_XMLQUERY包用於將查詢結果轉換為XML格式,DBMS_LOB程序包包含雨處理大型對象的過程和函數。下面我們看一下DBMS_XMLQUERY和DBMS_LOB的用法:
SQL> DECLARE
result CLOB;
xmlstr VARCHAR2(32767);
line VARCHAR2(2000);
line_no INTEGER :=1;