XML儲存資料與資料庫備份

2021-06-08 06:17:10 字數 3575 閱讀 4001

xml簡介

談到xml就不能不提html,html語言的出現推動了網際網路的普及.在xml誕生之初甚至現在,也有好多人有這樣一種誤解xml將完全取代html,其實,完全不是這樣的。同html一樣, xml 是sgml (standard generalized markup language, 通用標識語言標準)的乙個子集,它是描述網路上的資料內容和結構的標準。儘管如此,兩這之間還是有很大的差別的。

xml不象html,html僅僅提供了在頁面上顯示資訊的通用方法(沒有上下文相關和動態功能) ,xml則對資料賦予上下文相關功能,它繼承了sgml的大部分功能,卻使用了不太複雜的技術。因此我們要明白xml不是html的一種替代品.在將來最可能的是**開發者使用xml來描述**所需資料和**的結構,而html將用來格式化和顯示這些資料.

xml不是html的替代品,兩者的用途是不同的,xml是被設計用來描述資料和定焦與資料是什麼,而html是被設計用來顯示資料和定焦與資料是什麼樣子的。xml是基於資料的語言,是關於如何描述資訊的,它只關注與內容,而html是關於如何顯示資訊的, 它更關注於樣式.,傳統的html對內容的支援非常簡單,這就是設計大型web**的時候,一定要使用資料庫,因為html無法提供對大量內容的支援。

另外,也是非常重要的是xml是可擴充套件的,在html中所有的標誌(tags)和文件結構都是預先定義好了的,我們必須使用那些標準的html標誌,xml允許我們自定義自己的標誌和自己的文件結構.

回頁首

怎樣用xml儲存和備份資料

其實,通過前面的介紹,相信大家應該明白了為什麼要使用xml來進行資料儲存和備份了。

傳統的資料庫儲存大都是通過資料庫來實現的,資料庫的出現給我們帶來了很大的便利,提供的快速的資訊搜尋查詢方式,但是資料庫也給我們帶來了一些不便,現在資料庫系統特別的多,像oracle,sql server,linux下的自由軟體mysql等,他們各自有不同的標準,並且存在於不同的作業系統,以往要在他們之間交換資料儘管可行,但是非常困難,其實通過xml可以很輕鬆的實現。

xml在資料庫應用方面可以有以下用途:

1、 備份資料庫

使用xml來備份資料庫可以靈活的將資料庫中的資訊轉移到其他的平台和資料庫系統中,而且備份資料庫占用的空間也非常小,在microsoft的sql server2000中已經提供了對xml強大的支援,它通過for xml來將資料庫中的記錄匯出為xml格式,可以通過open xml將資料從xml中匯入到資料庫中。這裡就不介紹了,下面介紹這樣通過web方式將access資料備份到xml檔案中,本文使用的資料庫是e-home中廚房系統中的菜譜資料庫,資料庫主要有乙個表food,包含id,name,info,type,number,time欄位,以下是在win2000環境下備份access資料庫的**:(環境win2000+iis)

檔名:foodbackup.asp

<%

dim objconn

dim objrs

dim objfs

dim xmlfile

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

"dsn=food;database=home;uid=;pwd=;"

//連線資料庫,指定資料庫檔案的路徑

//如果是ms sql server 則為:

"driver=;database=dbname;server=servername;

uid=username;pwd=password"

set objrs=server.createobject("adodb.recordset")

objrs.open "food",objconn

set objfs=server.createobject("scripting.filesystemobject")

set xmlfile=objfs.createtextfile("d:\food.xml")

xmlfile.writeline ""

while not objrs.eof

xmlfile.writeline ""&objrs("id")&"

"xmlfile.writeline objrs("name")&"

"&objrs("info")&"

"&objrs("type")

xmlfile.writeline "

"&objrs("number")&"

"&objrs("time")&"

"objrs.movenext

wend

xmlfile.writeline ""

objrs.close

set objrs=nothing

xmlfile.close

set xmlfile=nothing

%>

通過以上**就可以實現對access資料庫food中表food的備份,只需要在本檔案的基礎上進行改動,就可以實現自由選擇資料庫中的表進行備份了。備份前檔案的大小是3.65m,備份後經過winzip壓縮後的大小只有225kb,只需要通過對以上檔案進行改動,也可以實現對oracle,excell.access,visual foxpro等資料庫資訊的備份。

我們還可以通過php操作來對其他資料庫進行備份,以下是在linux下通過apache+php對mysql資料庫的備份的檔案**:

檔案一、listtable.php (檔案列出資料庫中的所有**,供選擇備份)

請選擇要備份的**:

<?

$con=mysql_connect('localhost','root','xswlily');

$lists=mysql_list_tables("embed",$con);

//資料庫連線**

$i=0;

while($i".$tb_name."

";//列出所有的**

$i++;}

?>

檔案二、backup.php

<?if ($table=="") header("location:listtable.php");?><?

$con=mysql_connect('localhost','root','xswlily');

$query="select * from $table ";

//資料庫查詢

$result=mysql_db_query("embed",$query,$con);

$filestr="<"."?xml version=\"1.0\" encoding=\"gb2312\"?".">";

$filestr.="<".$table."s>";

while ($row=mysql_fetch_array($result))

//列出所有的記錄

$filestr.="";

}$filestr.="";

echo $filestr;

//以下是檔案操作**

$filename=$table.".xml";

$fp=fopen("$filename","w");

fwrite($fp,$filestr);

fclose($fp);

echo "資料表".$table."已經備份成功!";?>

資料庫備份儲存過程

use wechat go object storedprocedure dbo p backupdb script date 2017 11 22 11 38 23 set ansi nulls on goset quoted identifier on gocreate proc dbo p b...

phpcms資料庫備份與恢復 資料庫備份與恢復方案

sql server資料備份方案 sql server資料庫的備份方法主要有完整備份,差異備份,事務日誌備份等。根據資料安全性的要求,推薦的備份方式為每週一次完整備份,每天一次差異備份,每半個小時一次事務日誌備份。預設情況下,為 sysadmin 固定伺服器角色以及 db owner 和 db ba...

XML與資料庫(2)

1.0 簡介本 簡要的 了 xml和資料庫之間的關係,同時羅列出一些可以使用資料庫處理 xml文件的軟體工具。雖然在這裡不可能詳盡地介紹和提供對這些軟體更深層次的評價,但是我希望它能夠描述使用資料庫處理 xml文件中的主要部分。這裡有點偏向與關係資料 庫,因為我的經驗如此。2.0 為什麼使用資料庫?...