锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品亚洲一区二区三区浴池 ,在线观看亚洲精品国产,久久久久亚洲精品日久生情http://www.tkk7.com/hengheng123456789/category/14829.htmlzh-cnTue, 27 Feb 2007 17:18:23 GMTTue, 27 Feb 2007 17:18:23 GMT60浣跨敤Java鍜孹ML-DBMS灝嗘暟鎹簱妗ユ帴鍒癤MLhttp://www.tkk7.com/hengheng123456789/articles/67546.html鍝煎摷鍝煎摷Mon, 04 Sep 2006 03:40:00 GMThttp://www.tkk7.com/hengheng123456789/articles/67546.htmlhttp://www.tkk7.com/hengheng123456789/comments/67546.htmlhttp://www.tkk7.com/hengheng123456789/articles/67546.html#Feedback0http://www.tkk7.com/hengheng123456789/comments/commentRss/67546.htmlhttp://www.tkk7.com/hengheng123456789/services/trackbacks/67546.html 緙栧啓鏄犲皠鏂囦歡

鏄犲皠鏂囦歡鏄竴涓壒孌婄殑XML鏂囦歡錛岀敤鎴峰湪鍏朵腑鎸囧畾XML鍏冪礌銆佸睘鎬э紙attributes錛変互鍙奝CDATA濡備綍鏄犲皠鍒版暟鎹簱鐨勮〃涓庡垪銆?a >娓呭崟A灝辨槸榪欎釜XML紺轟緥鐨勬槧灝勬枃浠訛紝娓呭崟B鏄? 鏁版嵁搴撶殑涓涓猄QL鏋舵瀯銆傚湪娓呭崟A涓紝Options鍏冪礌鍖呭惈緋葷粺鐗規湁鐨勪竴浜涘弬鏁般傚湪榪欎緥瀛愪腑錛屼綘瑕佽緗浉搴旂殑鏍煎紡錛屼互瀹炵幇DATE綾誨瀷鐨勬暟鎹簱瀛楁涓? XML鏁版嵁鐨勭浉浜掕漿鎹€傛敞鎰忥紝Pattern灞炴у繀欏婚伒寰猨ava.text.SimpleDateFormat妯″紡瑙勮寖銆?/p>

娓呭崟A:

Listing A
<?xml version='1.0' ?>

<XMLToDBMS Version="2.0" xmlns="http://www.xmlmiddleware.org/xmldbms/v2">

<Options>

<SimpleDateFormat Pattern="yyyy-MM-dd" DefaultForTypes="DATE" />

</Options>

<Databases>

<Database Name="Default">

<Catalog>

<Schema>

<Table Name="users">

<Column Name="user_id" DataType="VARCHAR" Length="24" Nullable="No"/>

<Column Name="company" DataType="VARCHAR" Length="255" Nullable="No"/>

<PrimaryKeyKeyGenerator="UID">

<UseColumn Name="user_id"/>

</PrimaryKey>

</Table>

<Table Name="orders">

<Column Name="order_id" DataType="VARCHAR" Length="24" Nullable="No"/>

<Column Name="user_id" DataType="VARCHAR" Length="24" Nullable="No"/>

<Column Name="posted_at" DataType="DATE" Nullable="No"/>

<Column Name="type" DataType="INTEGER" Nullable="Yes"/>

<ForeignKey Name="order_to_user_FK">

<UseTable Name="users" />

<UseUniqueKey Name="PrimaryKey" />

<UseColumn Name="user_id"/>

</ForeignKey>

<PrimaryKeyKeyGenerator="UID">

<UseColumn Name="order_id"/>

</PrimaryKey>

</Table>

<Table Name="cargos">

<Column Name="cargo_id" DataType="VARCHAR" Length="24" Nullable="No"/>

<Column Name="order_id" DataType="VARCHAR" Length="24" Nullable="No"/>

<Column Name="title" DataType="VARCHAR" Length="255" Nullable="Yes"/>

<Column Name="code" DataType="VARCHAR" Length="255" Nullable="Yes"/>

<Column Name="quantity" DataType="INTEGER" Nullable="Yes"/>

<Column Name="weight" DataType="INTEGER" Nullable="Yes"/>

<Column Name="danger" DataType="VARCHAR" Length="255" Nullable="Yes"/>

<PrimaryKeyKeyGenerator="UID">

<UseColumn Name="cargo_id"/>

</PrimaryKey>

<ForeignKey Name="cargo_to_order_FK">

<UseTable Name="orders" />

<UseUniqueKey Name="PrimaryKey" />

<UseColumn Name="order_id"/>

</ForeignKey>

</Table>

</Schema>

</Catalog>

</Database>

</Databases>

<Maps>

<ClassMap>

<ElementType Name="order"/>

<ToClassTable Name="orders"/>

<PropertyMap>

<ElementType Name="order_id"/>

<ToColumn Name="order_id"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="user_id"/>

<ToColumn Name="user_id"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="posted_at"/>

<ToColumn Name="posted_at"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="type"/>

<ToColumn Name="type"/>

</PropertyMap>

<RelatedClassKeyInParentTable="Unique">

<ElementType Name="cargo"/>

<UseUniqueKey Name="PrimaryKey"/>

<UseForeignKey Name="cargo_to_order_FK"/>

</RelatedClass>

</ClassMap>

<ClassMap>

<ElementType Name="cargo"/>

<ToClassTable Name="cargos"/>

<PropertyMap>

<ElementType Name="cargo_id"/>

<ToColumn Name="cargo_id"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="order_id"/>

<ToColumn Name="order_id"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="title"/>

<ToColumn Name="title"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="code"/>

<ToColumn Name="code"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="quantity"/>

<ToColumn Name="quantity"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="weight"/>

<ToColumn Name="weight"/>

</PropertyMap>

<PropertyMap>

<ElementType Name="danger"/>

<ToColumn Name="danger"/>

</PropertyMap>

</ClassMap>

</Maps>

</XMLToDBMS>
娓呭崟B:
Listing B
CREATE TABLE XMLDBMSKey (
HighKeyint(11)
);
CREATE TABLE orders (
order_idvarchar(24) DEFAULT '' NOT NULL,
user_idvarchar(24) DEFAULT '' NOT NULL,
posted_atdate,
type integer,
PRIMARY KEY (order_id)
);
CREATE TABLE cargos (
cargo_idvarchar(24) DEFAULT '' NOT NULL,
order_idvarchar(24) DEFAULT '' NOT NULL,
title varchar(255),
code varchar(255),
quantity integer,
weight integer,
danger varchar(255),
PRIMARY KEY (cargo_id)
);


娓呭崟A鐨凞atabases鍏冪礌鍖呭惈鏁版嵁搴撶殑涓涓叧緋繪灦鏋勩傝鏋勬灦紜繚XML-DBMS鑳芥紜湴鏄犲皠鏁版嵁騫剁紪璇戞槧灝勬枃浠訛紙濡傛灉瑕佸湪澶氫釜鏄犲皠鏂囦歡涓嬌鐢ㄧ浉鍚岀殑鏁版嵁搴撴灦鏋勶紝鏈濂界殑鍔炴硶灝辨槸鍦ㄦ瘡涓枃浠朵腑灝嗘灦鏋勪綔涓轟竴涓猉ML澶栭儴瀹炰綋鏉ュ寘瀹癸紝涓嶅繀姣忔閮借繘琛岄噸鍐欙級銆?/p>

鏁版嵁搴撳悕縐扳淒efault鈥濇剰鍛崇潃鏁版嵁搴撳繀欏誨湪JDBC榪炴帴URL涓樉寮忓湴鎸囧畾銆傚繀欏誨湪姣忎釜琛ㄤ腑鎻愪緵涓婚敭淇℃伅錛岃屼笖姣忎釜閿兘蹇呴』瀛樺湪浜庢暟鎹簱涓傚惁鍒欙紝緙栬瘧鍣ㄥ彲鑳芥姤鍛婁竴涓槧灝勫紓甯搞?/p>

鍦↘eyGenerator涓紝浣犻渶瑕佹彁渚涗富閿敓鎴愬櫒鐨勫悕縐幫紝鍚屾椂蹇呴』鐢ㄤ竴涓嫭绔嬬殑Java綾繪潵瀹炵幇榪欎釜鐢熸垚鍣ㄣ侹eyGenerator鏄疛ava鎺ュ彛鐨勪竴涓疄鐜幫紝姣忔鎵ц涓涓狪NSERT鎿嶄綔鏃訛紝瀹冮兘浼氱敓鎴愪竴涓儫涓鐨勯敭鍊箋備篃鍙嬌鐢ㄤ竴涓畝鍗曠殑銆佺幇鎴愮殑鐢熸垚鍣ㄣ?/p>

鍥綛鐨刋MLDBMSKey琛ㄥ寘鍚簡鐢盞eyGenerator浣跨敤鐨勫箋俇seColumn鍏冪礌鎸囧悜涓涓厖褰撲富閿殑鍏冪礌錛屽茍鍛婅瘔紼嬪簭鍦ㄥ摢閲屽啓鐢熸垚 鐨勯敭鍊箋傞櫎闈濶ame灞炴ф槑紜寚瀹氫簡涓涓悕縐幫紝鍚﹀垯涓婚敭浼氶殣寮忓湴閲囩敤PrimaryKey榪欎竴榛樿鍚嶇О銆備富閿彲鑳藉悓鏃朵嬌鐢ㄤ簡澶氬垪錛? KeyGenerator鐨勫疄鐜板繀欏葷煡閬撳畠搴旇鐢熸垚澶氬皯涓敭銆?/p>

娓呭崟A鐨凢oreignKey鍏冪礌鐢ㄤ簬鎻忚堪鍏冪礌綾諱箣闂寸殑涓婚敭鈥撳閿叧緋匯?/p>

鍦ㄦ槧灝勬枃浠朵腑錛屾渶閲嶈鐨勪竴閮ㄥ垎灝辨槸Maps灝忚妭銆傚厓绱犵被鍨嬪強鍏跺唴瀹歸氬父琚涓轟竴涓被錛屽茍鏄犲皠鍒頒竴涓〃銆傝繖鏄氳繃涓涓狢lassMap鍏冪礌鍙婂叾瀛愬厓绱? 鏉ュ畬鎴愮殑銆傚瓙鍏冪礌鍖呮嫭ElementType錛屽叾涓惈鏈夎鏄犲皠鐨勫厓绱犵殑鍚嶇О錛涗互鍙奣oClassTable錛屽畠鎸囧畾鍏冪礌瑕佹槧灝勫埌鍝釜琛ㄣ?/p>

PropertyMap鍏冪礌鑳芥帶鍒垛滅畝鍗曗濓紙瀛愯妭鐐逛腑鐨凱CDATA錛夊厓绱犳垨灞炴э紙attribute錛夋槧灝勨斺旇櫧鐒跺湪榪欎釜渚嬪瓙涓紝搴旂敤紼嬪簭鏄犲皠鐨? 鍙槸鍏冪礌銆俁elatedClass鍏冪礌鍏佽鎴戜滑鍦ㄦ灝佽鍙︿竴涓厓绱犵被錛屼絾閭d釜綾誨繀欏誨湪鍙︿竴涓狢lassMap鍏冪礌涓緱鍒板畾涔夈?/p>

鏄犲皠鏂囨。緙栬瘧鎴怷MLDBMap Java瀵硅薄錛屾渶緇堢殑緇撴灉浼氫紶緇橠BMSToDOM銆丏OMToDBMS鎴栬匘BMSDelete瀵硅薄銆傝繖浜涚壒孌婂璞¤礋璐d笌閫夋嫨銆佹彃鍏ャ佹洿鏂版垨鍒犻櫎鏁版嵁鏈夊叧鐨勫叏閮ㄥ伐浣溿?/p>

緙栧啓榪囨護鍣ㄥ拰鍔ㄤ綔鏂囦歡

榪囨護鍣ㄦ枃妗g敱涓緋誨垪榪囨護鍣ㄦ瀯鎴愶紝榪欎簺榪囨護鍣ㄥ簲鐢ㄤ簬鏁版嵁搴撲腑鐨勫箋傝繖鏍蜂竴鏉ワ紝榪囨護鍣ㄥ氨鑳借繃婊ょ敱SELECT鎿嶄綔媯绱㈢殑琛屾垨鑰呯敱DELETE鎿嶄綔鍒犻櫎鐨? 琛屻傝繃婊ゅ櫒璇█浣嶄簬鏄犲皠璇█鐨勯《绔傛崲璦涔嬶紝榪囨護鍣ㄦ枃妗e厑璁鎬綘鎸囧畾鏁版嵁鐨勬绱㈡潯浠訛紝鑰屾槧灝勮璦鎻愪緵緇撴瀯鍖栦俊鎭紙涔熷氨鏄仈鎺モ搄oin錛夈備綘鍙涓烘槧灝勮璦 鍜岃繃婊ゅ櫒璇█鍚堝茍鍦ㄤ竴璧鳳紝鍏卞悓涓烘暟鎹簱鎻愪緵浜嗕竴濂楃畝鍗曠殑鏌ヨ璇█錛屽畠紜繚緇撴灉浠ML鐨勫艦寮忚繑鍥炪傝繃婊ゅ櫒鏂囨。瑕佺紪璇戞垚FilterSet Java瀵硅薄錛屾渶緇堢殑瀵硅薄浼氫紶緇橠BMSToDOM鎴栬匘BMSDelete瀵硅薄銆?/p>

鍔ㄤ綔鏂囨。鐢變竴緋誨垪鍔ㄤ綔鏋勬垚錛岃繖浜涘姩浣滆搴旂敤浜嶺ML鏂囨。涓殑鍊箋備綘闇瑕佷負浣滀負綾繪潵鏄犲皠鐨勫厓绱犵被鍨嬫寚瀹氱浉搴旂殑鍔ㄤ綔銆傝繖浜涘姩浣滀細杞崲涓哄琛岀殑鎻掑叆銆佹洿鏂? 鍙婂垹闄ゆ搷浣溿傚湪涓涓姩浣滄枃妗d腑錛屽鏋滃凡緇忚瀹氱壒瀹氱殑琛岄渶瑕佹彃鍏ユ垨鏇存柊錛屽氨涓嶈兘鍐嶈瀹氶偅浜涜闇瑕佸垹闄わ紱鍙嶄箣浜︾劧銆傚鏋滀竴涓姩浣滄枃妗h瀹氭煇浜涜闇瑕佹彃鍏ユ垨鏇? 鏂幫紝灝變細鐢盌OMToDBMS瀵硅薄鏉ヤ嬌鐢ㄩ偅浜涙枃妗c傜浉鍙嶏紝濡傛灉瑙勫畾鏌愪簺琛岄渶瑕佸垹闄わ紝鍒欎細鐢盌BMSDelete瀵硅薄鏉ヤ嬌鐢ㄣ?/p>

Listing C

錛?xmlversion='1.0' ?錛?br />錛淎ctions Version="2.0" xmlns="http://www.xmlmiddleware.org/xmldbms/actions/v2"錛?br />錛淒efaultAction錛?br />錛淣one /錛?br />錛?DefaultAction錛?br />錛淎ction錛?br />錛淓lementType Name="order" /錛?br />錛淯pdateOrInsert /錛?br />錛?Action錛?br />錛淎ction錛?br />錛淓lementType Name="cargo" /錛?br />錛淯pdateOrInsert /錛?br />錛?Action錛?br />錛?Actions錛?/p>

娓呭崟C婕旂ず浜嗘彃鍏?鏇存柊鍔ㄤ綔銆傝繖孌典唬鐮佷細浣跨敤涓涓凡鐭ョ殑涓婚敭錛堝鏋滃瓨鍦ㄧ殑璇濓級鏉ユ洿鏂頒竴涓錛屾垨鑰呯敓鎴愪竴涓柊鐨勪富閿紙濡傛灉涓嶅瓨鍦ㄧ殑璇濓級銆傚疄闄呬笂錛屼綘闇瑕佷負涓や釜綾伙紙order鍜宑argo錛夋彃鍏ュ厓绱狅紝鍥犱負cargo鍏冪礌宓屽鍦╫rder鍏冪礌涓?/p>

Listing D

錛?xmlversion='1.0' ?錛?br />錛淔ilterSet Version="2.0" xmlns="http://www.xmlmiddleware.org/xmldbms/filters/v2"錛?br />錛淥ptions錛?br />錛淲rapper Name="orders" /錛?br />錛?Options錛?br />錛淔ilters錛?br />錛淔ilter錛?br />錛淩ootFilter錛?br />錛淭able Name="orders" /錛?br />錛淲here Condition=" user_id = 'UID745632' "/錛?br />錛?RootFilter錛?br />錛?Filter錛?br />錛?Filters錛?br />錛?FilterSet錛?/p>

閫夋嫨鎴栧垹闄ゆ暟鎹椂錛岄渶瑕佷嬌鐢ㄥ寘鍚湪娓呭崟D涓殑榪囨護鍣ㄦ枃浠躲侽ptions鍏冪礌鍖呭惈涓涓壒孌婄殑Wrapper鍏冪礌錛屽畠鐢ㄤ簬鍖呰鏌ヨ緇撴灉銆傚鏋滀細浠庢暟鎹? 搴撲腑媯绱㈠涓厓绱狅紝灝遍渶瑕佷嬌鐢╓rapper鍏冪礌銆傚湪榪欑鎯呭喌涓嬶紝鐢熸垚鐨勬槸鍚湁澶氫釜鏍瑰厓绱犵殑XML緇撴瀯錛岀幇琛岀殑璁稿鏍囧噯閮戒笉鏀寔瀹冦?/p>

RootFilterelements鐢ㄤ簬鎸囧畾浠庢牴琛ㄦ绱㈠埌鐨勫箋?/p>

緙栧啓Java浠g爜

鐜板湪錛屾垜浠凡鍑嗗濂界紪鍐欒嚜宸辯殑搴旂敤紼嬪簭錛屽畠灝嗗湪涓涓叧緋繪暟鎹簱涓瓨鍌ㄥ拰媯绱OM鏂囨。銆傛竻鍗旹鍖呭惈浜嗙ず鑼冩х殑Java浠g爜錛屽畠鏈夊繀瑕佽繘涓姝ヨ鏄庛?/p>

Listing E

package test.xmldbms;
importorg.xmlmiddleware.db.*;
import org.xmlmiddleware.utils.XMLMiddlewareException;
importorg.xmlmiddleware.xmldbms.*;
importorg.xmlmiddleware.xmldbms.tools.*;
importorg.xmlmiddleware.xmldbms.actions.*;
importorg.xmlmiddleware.xmldbms.datahandlers.*;
importorg.xmlmiddleware.xmldbms.filters.*;
importorg.xmlmiddleware.xmldbms.keygenerators.*;
importorg.xmlmiddleware.xmldbms.maps.*;
importorg.xmlmiddleware.xmlutils.*;
importorg.xml.sax.*;
import org.w3c.dom.*;
importjava.io.*;
importjava.util.*;
public class XMLToDBMSAndViceVersa
{
// Service objects
private DOMToDBMSdomToDBMS = null;
private DBMSToDOMdbmsToDOM = null;
private DBMSDeletedbmsDelete = null;
// Credentials for connecting to database
private static String JDBC_DRIVER = "org.gjt.mm.mysql.Driver";
private static String JDBC_URL = "jdbc:mysql://localhost/dbname";
private static String JDBC_DBNAME = "dbname";
private static String JDBC_USER = "dbuser";
private static String JDBC_PASSWORD = "dbpassword";
// Some file names
private static String mapFilename = "Listing-A.map";
private static String actionFilename = "Listing-C.act";
private static String filterFilename = "Listing-D.act";
// Datahandler class
private static String GENERICHANDLER = "org.xmlmiddleware.xmldbms.datahandlers.GenericHandler";
// Key generation class
private static String KEYGENERATOR = "org.xmlmiddleware.xmldbms.keygenerators.KeyGenerator";
// Parser utils class; XML-DBMS does not yet support JAXP, so such operations as XML parsing and serializing
// needs to be a little customized for each parser. this is the class for supporting Xerces parser.
private static String PARSERUTILSCLASS = "org.xmlmiddleware.xmlutils.external.ParserUtilsXerces";
private static boolean VALIDATING_PARSER = false;
public static void main(String [] args) {
// Tell the JVM to run finalizers on exit. This is necessary to ensure
// that database connections are properly closed.
System.runFinalizersOnExit(true);
// Creating parser utilities
ParserUtilsutils = (ParserUtils)Class.forName(PARSERUTILSCLASS).newInstance();
// Creating a data source and data handler.
DataSourcedataSource = new JDBC1DataSource(JDBC_DRIVER, JDBC_URL);
dataHandler = (DataHandler)Class.forName(GENERICHANDLER).newInstance();
dataHandler.initialize(dataSource, JDBC_USER, JDBC_PASSWORD);
// Compiling and instantiating a Map object
MapCompiler compiler = new MapCompiler(utils.getXMLReader(VALIDATING_PARSER));
XMLDBMSMap map = compiler.compile(new InputSource(new FileReader(mapFilename)));
// Create an object containing information needed to transfer data
TransferInfotransferInfo = new TransferInfo(map);
transferInfo.addDataHandler(JDBC_DBNAME, dataHandler);
// Compiling and instantiating an Action object
ActionCompiler compiler = new ActionCompiler(utils.getXMLReader(VALIDATING_PARSE));
Actions actions = compiler.compile(map, new InputSource(new FileReader(actionFilename)));
// Creating and configuring service object
domToDBMS = new DOMToDBMS();
domToDBMS.setCommitMode(DataHandler.COMMIT_AFTERSTATEMENT);
domToDBMS.stopOnException(true);
domToDBMS.setFilterSetReturned(false);
KeyGeneratorkeyGen = (KeyGenerator)Class.forName(KEYGENERATOR).newInstance();
domToDBMS.addKeyGenerator("UID", keyGen); // Adding used in Listing-A key generator named UID
// Getting our XML document into DOM document
Document doc = utils.openDocument(new InputSource(new StringReader(xmlString)),VALIDATING_PARSER);
// Ooops... and our XML file is already in the database!
domToDBMS.storeDocument(transferInfo, doc, actions);
// Creating FilterSet object for retrieving data
FilterCompiler compiler = new FilterCompiler(utils.getXMLReader(validate));
FilterSetfilterSet = compiler.compile(map, new InputSource(new FileReader(filterFilename)));
// Creating and configuring another service object
dbmsToDOM = new DBMSToDOM(utils);
dbmsToDOM.setDTDInfo(null, null);
Hashtableparams = new Hashtable();
// And now we are getting a DOM document from database
doc = dbmsToDOM.retrieveDocument(transferInfo, filterSet, params, null);
}
}

棣栧厛錛屼綘蹇呴』瀹炰緥鍖栦竴涓暟鎹簮鍜屼竴涓暟鎹鐞嗙▼搴忋侸DBC1DataSource綾繪槸JDBC 2.0 DataSource鐨勪竴涓疄鐜幫紝瀹冪敤浜庝竴涓伒寰狫DBC1鏍囧噯鐨勯┍鍔ㄧ▼搴忥紝鑰屼笖鎻愪緵浜嗗榪炴帴姹犵殑鏀寔銆侱atahandler鏄敤浜庡鏁版嵁搴撹闂繘琛屾娊 璞$殑涓涓帴鍙c備綘榪樿鎸囩ずJVM鍦ㄩ鍑烘椂榪愯緇堢粨鍣紙finalizers錛夛紝榪欐槸鐢⊿ystem.runFinalizersOnExit(true) 鏉ュ疄鐜扮殑銆傜粓緇撳櫒蹇呴』榪愯錛屽惁鍒欐棤娉曚繚璇佹暟鎹簱榪炴帴姝g‘鍏抽棴銆侾arserUtils鏄疄鐜頒簡瑙f瀽鍣ㄧ壒鏈夋柟娉曠殑涓涓被鐨勬帴鍙c備箣鎵浠ラ渶瑕佸畠錛屾槸鍥犱負XML 瑙f瀽鍜屽簭鍒楀寲鎿嶄綔闇瑕侀拡瀵規瘡涓涓В鏋愬櫒榪涜灝戣瀹氬埗銆?/p>

浣犲繀欏葷紪璇戝拰瀹炰緥鍖栦竴涓狹ap瀵硅薄銆丄ctions瀵硅薄浠ュ強FilterSet瀵硅薄錛屽畠浠叏閮戒細鍦ㄦ枃妗h漿鎹㈣繃紼嬩腑浣跨敤銆備負姝わ紝浣犻渶瑕佷嬌鐢ㄧ敱 MapCompiler銆丄ctionCompiler鍜孎ilterCompiler絳夊璞℃彁渚涚殑鐩稿簲鐨勬柟娉曘俆ransferInfo瀵硅薄鍖呭惈鍦? XML鏂囨。鍜屾暟鎹簱涔嬮棿浼犺緭鏁版嵁鎵闇鐨勪俊鎭傚畠灝佽浜嗘牴鎹竴涓壒瀹氱殑鏄犲皠錛屽湪XML鏂囨。鍜屾暟鎹簱涔嬮棿浼犺緭鏁版嵁鎵闇鐨勬槧灝勫厓鏁版嵁浠ュ強DataHandler 瀵硅薄銆傚畠涓烘瘡涓暟鎹簱閮藉寘鍚崟鐙竴涓猉MLDBMSMap瀵硅薄鍜屼竴涓狣ataHandler瀵硅薄銆備綘榪樺繀欏誨垱寤轟竴涓狵eyGenerator瀹炵幇瀵硅薄錛屼互 渚垮湪鎻掑叆鏂板璞℃椂鐢熸垚涓婚敭銆傞敭鐢ㄤ簬鑱旀帴涓嶅悓鐨勮〃錛堜粠綾昏〃鍒扮被琛紝鎴栬呬粠綾昏〃鍒板睘鎬ц〃錛夛紝榪樼敤浜庝粠鏍硅〃錛坮oot tables錛夋绱㈡暟鎹?/p>

鏈鍚庯紝浣犲彲鍒涘緩涓涓狣OMToDBMS瀵硅薄錛屼互渚垮皢鏁版嵁浠庝竴涓狣OM鏍戜紶杈撳埌鏁版嵁搴撱傞噰鍙栫被浼肩殑鏂瑰紡錛岃繕鍙垱寤轟竴涓狣BMSToDOM瀵硅薄錛屼互渚垮皢鍏崇郴鏁版嵁浼犲洖DOM銆?/p>

鎬葷粨

鏈枃璇佹槑浣跨敤XML-DBMS鏉ュ瓨鍌╔ML鏁版嵁鍏跺疄騫朵笉闅俱傚鏋滀綘宸茬粡寤虹珛浜嗕竴涓叧緋繪暟鎹簱鍩虹緇撴瀯錛屾垨鑰呭笇鏈涘緩绔嬩竴涓嫭绔嬩簬鏁版嵁搴撳巶鍟嗙殑鍩虹緇? 鏋勶紝灝辨帹鑽愰噰鍙栬繖縐嶆柟寮忋傜敱浜嶺ML-DBMS涓嶈姹備換浣曠壒瀹氱殑鏁版嵁搴擄紝鎵浠ヤ綘鐨勬暟鎹簱鍙渶鐞嗚В鏍囧噯SQL錛岃屼笖鏈変竴涓狫DBC椹卞姩紼嬪簭錛堟垨鑰呭叿鏈夋ˉ鎺ユ満 鍒剁殑涓涓? ODBC椹卞姩紼嬪簭錛夊氨鍙互浜嗐傚鏋滀綘鐨勫簲鐢ㄧ▼搴忛渶瑕佹悳绱㈡垨鑰呭悎騫舵潵鑷笉鍚岀被鍨嬬殑鏁版嵁婧愮殑淇℃伅錛屽氨閫傚悎浣跨敤榪欎釜妗嗘灦錛屽洜涓哄叧緋繪暟鎹簱鏋舵瀯寰堝鏄撻氳繃XML DTD鍜孹ML鏋舵瀯鏉ュ緩绔嬶紝鍙﹀榪樻湁澶ч噺宸ュ叿鍙皢DTD鍜屾灦鏋勮漿鎹㈡垚鏄犲皠鏂囦歡銆傚彟澶栵紝榪樺彲鐢ㄥ畠鐢熸垚鐢辨暟鎹┍鍔ㄧ殑搴旂敤紼嬪簭錛屾瘮濡備竴涓狢MS鎴栬匔RM緋葷粺銆? XML-DBMS鏄粠XML鍒癉BMS鐨勪腑闂翠歡浜у搧鐨勪竴涓吀鑼冿紝鑳芥湁鏁堝湴鏁村悎鏀寔鍜屼笉鏀寔XML鐨勭郴緇熴?/p>





鍝煎摷 2006-09-04 11:40 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产大片91精品免费观看男同| 久久久久久毛片免费播放| 亚洲熟妇av一区| 未满十八18禁止免费无码网站| 在线观看亚洲精品国产| 亚洲精品视频免费观看| 国产亚洲日韩一区二区三区| 男女一边桶一边摸一边脱视频免费| 亚洲综合色成在线播放| 在线播放免费人成毛片乱码| 亚洲国产精品线在线观看| 午夜免费1000部| 国产亚洲精品成人AA片| 国产成人精品123区免费视频| 深夜a级毛片免费视频| 亚洲性日韩精品国产一区二区| 中文字幕免费人成乱码中国| 亚洲精品亚洲人成在线观看| 午夜免费福利视频| 亚洲六月丁香六月婷婷蜜芽| 在线播放免费播放av片| 黄色一级毛片免费| 国产AV无码专区亚洲AV男同| h片在线免费观看| 黄色毛片免费网站| 亚洲精品一品区二品区三品区| 99久久免费国产香蕉麻豆| 小说区亚洲自拍另类| 美女被免费喷白浆视频| 亚洲AV无码久久| 精品国产呦系列在线观看免费 | 一个人免费观看视频在线中文| 亚洲精品乱码久久久久久久久久久久 | 亚洲愉拍一区二区三区| 亚洲精品国产日韩无码AV永久免费网| 日本亚洲免费无线码| 免费一级毛片在线播放| 久久久久免费精品国产小说| 亚洲性色AV日韩在线观看| 亚洲一区二区三区香蕉| a级毛片黄免费a级毛片|