❶ sqlXML4.0是什麼
SQLXML
XML for SQL Server,又名SQLXML,可幫助開發人員在擴展標記語言(XML)和相關數據之間架設起溝通的橋梁。您還可針對現有關系型數據生成XML視圖,並將其作為XML文件加以應用。SQLXML將可面向下列需求提供相關解決方案:
藉助XPath查詢關系型數據。
藉助Transact-SQL查詢關系型數據並返回XML格式結果集。
按照XML格式更新關系型數據。
將超大型XML文件裝入現有SQL Server 2000資料庫,並將其中數據轉換為關系型數據。
在您的Web瀏覽器或Web應用程序中使用URL查詢SQL Server數據。
藉助OLE DB、Microsoft ActiveX&�0�3; Data Objects(ActiveX數據對象,ADO)或Microsoft .NET Managed Classes(可管理類)訪問SQL Server XML功能
❷ 求sql server2008 xml類型查詢條件怎麼寫
/*
sql xml 入門:
--by jinjazz
--http://blog.csdn.net/jinjazz
1、xml: 能認識元素、屬性和值
2、xpath: 定址語言,類似windows目錄的查找(沒用過dir命令的話就去面壁)
語法格式,這些語法可以組合為條件:
"."表示自己,".."表示父親,"/"表示兒子,"//"表示後代,
"name"表示按名字查找,"@name"表示按屬性查找
"集合[條件]" 表示根據條件取集合的子集,條件可以是
數 值:數字,last(),last()-數字 等
布爾值:position()<數字,@name='條件',name='條件'
條件是布爾值的時候可以合並計算:and or
3、xquery: 基於xpath標的准查詢語言,sqlserver xquery包含如下函數
exist(xpath條件):返回布爾值表示節點是否存在
query(xpath條件):返回由符合條件的節點組成的新的xml文檔
value(xpath條件,數據類型):返回指定的標量值,xpath條件結果必須唯一
nodes(xpath條件): 返回由符合條件的節點組成的一行一列的結果表
*/
❸ sql sever xml文件怎麼打開
假設所傳遞的參數都有效,並且XML文檔存在,那麼你的XML數據就會被存放到內存中去。現在你就可以調用sp_xml_preparedocument,傳遞存放有XML文件的變數,然後執行OPENXML。語法如下:
OPENXML(idocint [in],rowpatternnvarchar[in],[flagsbyte[in]])
[WITH (SchemaDeclaration | TableName)]
注意:在本文中沒有足夠的文字來描述OPENXML所接收的參數。請參閱BOL以獲取更多信息。在Transact-SQL Reference中查找OPENXML。
現在我們已經到達了最後的步驟。所有剩下的工作就是導入一個實際的XML文件到SQL並進行處理(很奇快為什麼所有的BOL示例都沒有涉及到這一關鍵的部分)。
(我必須感謝我的同事Billy Pang所給予的幫助。他幫助我解決這個問題,並給出了代碼——盡管出於本文需要我對代碼進行了裁減。謝謝Billy!)
基本的技巧是,將文件逐行按文本讀取。然後把所有讀取的行連接為一個大的VARCHAR變數。最後,將變數傳遞給前面所說的代碼。
以下就是讀取文件並將其內容存放到某變數的代碼:
DECLARE @FileName varchar(255)
DECLARE @ExecCmd VARCHAR(255)
DECLARE @y INT
DECLARE @x INT
DECLARE @FileContents VARCHAR(8000)
CREATE TABLE #tempXML(PK INT NOT NULL IDENTITY(1,1), ThisLine VARCHAR(255))
SET @FileName = 'C:\Temp\CurrentSettings.xml'
SET @ExecCmd = 'type ' + @FileName
SET @FileContents = ''
INSERT INTO #tempXML EXEC master.dbo.xp_cmdshell @ExecCmd
SELECT @y = count(*) from #tempXML
SET @x = 0
WHILE @x <> @y
BEGIN
SET @x = @x + 1
SELECT @FileContents = @FileContents + ThisLine from #tempXML WHERE PK
= @x
END
SELECT @FileContents as FileContents
DROP TABLE #tempXML
現在在變數@FileContents變數中你已經獲得了文件的全部內容。所需要做的只是將變數通過@xmltext參數傳遞給sp_xml_preparedocument,然後再調用OPENXML。
有了這種解決辦法,對XML文檔進行各種處理就成為了可能。你可以將XML文檔同SQL表格連接在一起而無需導入數據,然後對這些數據進行INSERT、PDATE和DELETE等任何操作。
❹ xml與sql的區別
xml是為了各種平台間共享數據的標准語言,通過標簽節點來組織數據,具有平台無關,且結構好理解;
sql是用來在資料庫中進行查、刪、改、更新的語句,專門為資料庫設計的,且每種資料庫的sql語句有一些區別。
❺ sql語句寫在XML裡面是一種框架嗎
不算框架.
在這種場合XML屬於配置文件.
但是,SQL屬於敏感語句,一般不會在明文中指定,比如XML,INI等等配置文件中.
除非是一次性使用,在配置文件中存放安裝應用時所需的SQL腳本.用完後,該配置文件會由程序直接將其進行物理刪除.
❻ SQL取xml中節點值,該怎麼解決
/// <summary>
/// 讀取xml中的指定節點的值
/// </summary>
private string ReadXmlNode(string filename)
{
string result = "-1";
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.LoadXml(filename);
//讀取Activity節點下的數據。SelectSingleNode匹配第一個Activity節點
XmlNode root = xmlDoc.SelectSingleNode("//head");//當節點Workflow帶有屬性是,使用SelectSingleNode無法讀取
if (root != null)
result = (root.SelectSingleNode("code")).InnerText;
}
catch //(Exception e)
{
//顯示錯誤信息
}
return result;
}
❼ SQL如何動態的解析XML
(freeware)http://www.CodeHighlighter.com/-->DECLARE@ItemMessageXML
DECLARE@ItemTableTABLE(ItemNumberINTPRIMARYKEY,ItemDescriptionNVARCHAR(300))
SET@ItemMessage=N'<ItemList>
<Item>
<ItemNumber>1</ItemNumber>
<ItemDescription>XBox360,超值</ItemDescription>
</Item>
<Item>
<ItemNumber>2</ItemNumber>
<ItemDescription>WindowsPhone7,快來嘗鮮吧</ItemDescription>
</Item>
</ItemList>'
INSERTINTO@ItemTable
(
ItemNumber,
ItemDescription
)
SELECTT.c.value('(ItemNumber/text())[1]','INT'),
T.c.value('(ItemDescription/text())[1]','NVARCHAR(300)')
[email protected]('/ItemList/Item')AST(c)
SELECTItemNumber,
ItemDescription
FROM@ItemTable
(freeware)http://www.CodeHighlighter.com/-->DECLARE@ItemMessageXML
DECLARE@ItemTableTABLE(ItemNumberINTPRIMARYKEY,ItemDescriptionNVARCHAR(300))
SET@ItemMessage=N'<ItemListxmlns="http://cd.love.com/SOA">
<Item>
<ItemNumber>1</ItemNumber>
<ItemDescription>XBox360,超值</ItemDescription>
</Item>
<Item>
<ItemNumber>2</ItemNumber>
<ItemDescription>WindowsPhone7,快來嘗鮮吧</ItemDescription>
</Item>
</ItemList>'
;WITHXMLNAMESPACES(DEFAULT'http://cd.love.com/SOA')
INSERTINTO@ItemTable
(
ItemNumber,
ItemDescription
)
SELECTT.c.value('(ItemNumber/text())[1]','INT'),
T.c.value('(ItemDescription/text())[1]','NVARCHAR(300)')
[email protected]('/ItemList/Item')AST(c)
SELECTItemNumber,
ItemDescription
FROM@ItemTable
❽ C盤里的SQLXML4什麼的文件有什麼用,我把它刪掉了SQL貌似就裝不好了
這些文件是SQL幫助文檔文件 不能刪除