怎么根据xsd文件或者xml文件建立数据库表
如何根据xsd文件或者xml文件建立数据库表啊
xsd文件定义了xml文件的架构。如果一个xsd文件定义了一个数据库里表的结构,比如:
如何遍历这个文件然后建表,表名为tradeInformation.里面有字段id,tradeDate,tradeTime。希望大家能给点建议。如果有有用的链接也发来看看
------解决思路----------------------
你解析出这个xsd信息,然后拼创建表的sql就可以了
create table tradeInformation
( id int,
tradedate date,
tradeTime time)
------解决思路----------------------
1.解析xml
DataSet ds = new DataSet();
ds.ReadXmlSchema(filePath);
2.找到列信息
ds.Tables[0].TableName;
ds.Tables[0].Columns[0].ColumnName;
ds.Tables[0].Columns[0].DataType;
3.生成脚本:
DECLARE
FLAG NUMBER;
BEGIN
FLAG := 0;
SELECT COUNT(TABLE_NAME) INTO FLAG FROM USER_TABLES WHERE TABLE_NAME='TableName';
IF FLAG > 0 THEN
EXECUTE IMMEDIATE 'DROP TABLE TableName CASCADE CONSTRAINTS';
END IF;
EXECUTE IMMEDIATE 'CREATE TABLE TableName (
id VARCHAR2(1) DEFAULT '' '' NOT NULL,
...
...
) ';
EXECUTE IMMEDIATE 'COMMENT ON TABLE TableName IS ''xxx''';
end;
4.连接数据库,执行
------解决思路----------------------
BTW,你的xsd文件最后掉了一个</xs:schema>
xsd文件定义了xml文件的架构。如果一个xsd文件定义了一个数据库里表的结构,比如:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" target-Namespace="http://www.contoso.com/books" xmlns:xs
="http://www/w3.org/2001/XMLSchema">
<xs:element name="tradeInformation">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:int">
<xs:element name="tradeDate" type="xs:date"/>
<xs:element name="tradeTime" type="xs:time"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如何遍历这个文件然后建表,表名为tradeInformation.里面有字段id,tradeDate,tradeTime。希望大家能给点建议。如果有有用的链接也发来看看
------解决思路----------------------
你解析出这个xsd信息,然后拼创建表的sql就可以了
create table tradeInformation
( id int,
tradedate date,
tradeTime time)
------解决思路----------------------
1.解析xml
DataSet ds = new DataSet();
ds.ReadXmlSchema(filePath);
2.找到列信息
ds.Tables[0].TableName;
ds.Tables[0].Columns[0].ColumnName;
ds.Tables[0].Columns[0].DataType;
3.生成脚本:
DECLARE
FLAG NUMBER;
BEGIN
FLAG := 0;
SELECT COUNT(TABLE_NAME) INTO FLAG FROM USER_TABLES WHERE TABLE_NAME='TableName';
IF FLAG > 0 THEN
EXECUTE IMMEDIATE 'DROP TABLE TableName CASCADE CONSTRAINTS';
END IF;
EXECUTE IMMEDIATE 'CREATE TABLE TableName (
id VARCHAR2(1) DEFAULT '' '' NOT NULL,
...
...
) ';
EXECUTE IMMEDIATE 'COMMENT ON TABLE TableName IS ''xxx''';
end;
4.连接数据库,执行
------解决思路----------------------
BTW,你的xsd文件最后掉了一个</xs:schema>