以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  求助:关于xmldbms中间件使用问题3个。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=65075)


--  作者:shuori
--  发布时间:7/29/2008 3:49:00 PM

--  求助:关于xmldbms中间件使用问题3个。
1、在map文件中已经设置了dbname="basedb",连接oracle数据库时,提取具体表为什么仍然提示Table not found: "Default"."".""."表名"不存在??为什么数据库名
仍然为Default??是因为map文件中的,在class元素下 仍然要添加dbname元素??如果添加应该如何添加。还有 为什么在使用sqlserver2000时 不报这种错误,
切换到oracle上时则提示这种数据库错误??同样的程序,只修改了dbconfig.xml,自己感觉应该是map问题,因为实在mapcompiler.java中找到了报错对应语句。
修改后
  <dbconfig>
    <driver>oracle.jdbc.OracleDriver</driver>
    <url>jdbc:oracle:thin:@机器名:1521:basedb</url>
    <username>xmldbms</username>
    <password>xmldbms</password>  
</dbconfig>
修改前
<dbconfig>
    <driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
    <url>jdbc:microsoft:sqlserver://127.0.0.1:1400;DatabaseName=xmldbms</url>
    <username>sa</username>
    <password></password>  
</dbconfig>


2、在使用xmldbms时,在生成目标xml文件时,是否生成了对应该表的dtd??如果有,应该在那里可以看到?不要告诉我map文件
就是他的dtd文件。。。。我只能找到xmldbms源文件对应的dtd文件。

3、是不是可以根据map factoary直接生成map文件?如果是,需要输入提供什么参数?
如何调用?
谢谢!

我把map文件发上来大家帮忙看看:
<?xml version='1.0' encoding="GB2312"?>

<XMLToDBMS Version="2.0" xmlns="http://www.xmlmiddleware.org/xmldbms/v2">
 <Options>
  <SimpleDateFormat Pattern="yyyy-MM-dd" DefaultForTypes="DATE" />
 </Options>
 <Databases>
  <Database Name="basedb">
   <Catalog>
    <Schema>
        <!-- 元数据标准信息表 -->
     <Table Name="teacher_base">
      <Column Name="id" DataType="VARCHAR" Length="10" Nullable="No" />
      <Column Name="xm" DataType="VARCHAR" Length="12" Nullable="No" />      
      <Column Name="xb" DataType="CHAR" Length="1" Nullable="No" />      
      <Column Name="csnyr" DataType="DATE" Length="8" Nullable="No" />      
      <Column Name="mz" DataType="CHAR" Length="2" Nullable="Yes" />
      <Column Name="dwdm" DataType="VARCHAR" Length="10" Nullable="Yes" />
      <Column Name="grsf" DataType="CHAR" Length="1" Nullable="No" />
      <Column Name="ygxs" DataType="CHAR" Length="2" Nullable="Yes" />      
      <PrimaryKey KeyGenerator="UID">
       <UseColumn Name="id" />
      </PrimaryKey>
     </Table>
        <!-- 元数据信息表 -->
     <Table Name="teacher_train">
      <Column Name="id" DataType="VARCHAR" Length="10" Nullable="No" />
      <Column Name="xl" DataType="CHAR" Length="2" Nullable="No" />      
      <Column Name="xw" DataType="CHAR" Length="2" Nullable="No" />      
      <Column Name="bysj" DataType="CHAR" Length="6" Nullable="Yes" />      
      <Column Name="przc" DataType="CHAR" Length="2" Nullable="Yes" />
      <Column Name="prsj" DataType="CHAR" Length="6" Nullable="Yes" />      
      <Column Name="pdsj" DataType="CHAR" Length="6" Nullable="Yes" /> 
      <Column Name="pddj" DataType="CHAR" Length="2" Nullable="Yes" />
      <Column Name="bz_pr" DataType="CHAR" Length="1" Nullable="No" />       
      <PrimaryKey KeyGenerator="UID">
       <UseColumn Name="id" />
      </PrimaryKey>
      <UniqueKey Name="IX_Teacher_Train">
       <UseColumn Name="id" />
      </UniqueKey>
     </Table>
    </Schema>
   </Catalog>
  </Database>
 </Databases>
 <Maps>
  <!-- 元数据标准信息表 -->
  <ClassMap>
   <ElementType Name="teacher_base" />
   <ToClassTable Name="teacher_base" />
   <PropertyMap>
    <ElementType Name="id" />
    <ToColumn Name="id" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="xm" />
    <ToColumn Name="xm" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="xb" />
    <ToColumn Name="xb" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="csnyr" />
    <ToColumn Name="csnyr" />
   </PropertyMap>   
   <PropertyMap>
    <ElementType Name="mz" />
    <ToColumn Name="mz" />
   </PropertyMap>        
   <PropertyMap>
    <ElementType Name="dwdm" />
    <ToColumn Name="dwdm" />
   </PropertyMap>  
   <PropertyMap>
    <ElementType Name="grsf" />
    <ToColumn Name="grsf" />
   </PropertyMap>  
   <PropertyMap>
    <ElementType Name="ygxs" />
    <ToColumn Name="ygxs" />
   </PropertyMap>      
  </ClassMap>
  <!-- 元数据信息表 -->
  <ClassMap>
   <ElementType Name="teacher_train" />
   <ToClassTable Name="teacher_train" />
   <PropertyMap>
    <ElementType Name="id" />
    <ToColumn Name="id" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="xl" />
    <ToColumn Name="xl" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="xw" />
    <ToColumn Name="xw" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="bysj" />
    <ToColumn Name="bysj" />
   </PropertyMap>   
   <PropertyMap>
    <ElementType Name="przc" />
    <ToColumn Name="przc" />
   </PropertyMap>
   <PropertyMap>
    <ElementType Name="prsj" />
    <ToColumn Name="prsj" />
   </PropertyMap>     
   <PropertyMap>
    <ElementType Name="pddj" />
    <ToColumn Name="pddj" />
   </PropertyMap>         
   <PropertyMap>
    <ElementType Name="pdsj" />
    <ToColumn Name="pdsj" />
   </PropertyMap>  
   <PropertyMap>
    <ElementType Name="bz_pr" />
    <ToColumn Name="bz_pr" />
   </PropertyMap>     
  </ClassMap>
 </Maps>
</XMLToDBMS>


--  作者:shuori
--  发布时间:7/29/2008 4:00:00 PM

--  
关于第一个问题感觉是在解析 <Maps>标签中 找不到dbname ,所以xmldbms默认为Default数据库,但是如果增加该元素,应该放在那里?大侠给个路,我查了xmldbmse2.dtd.找到了一个例子:
        <XMLToDBMS>
           <Options>
              ...
           </Options>
           <Databases>
              &tables;
           </Databases>
           <Maps>
              ...
           </Maps>
        </XMLToDBMS>
不过未发现在    
       <Maps>
              ...
           </Maps>
标签里面的example,
        <ClassMap>
           <ElementType Name="Address" />
           <ToClassTable Name="Addresses" />
           ... property maps ...
        </ClassMap>
        <ClassMap>
           <ElementType Name="ShipToAddress" />
           <UseClassMap ElementType="Address" />
        </ClassMap>
        <ClassMap>
           <ElementType Name="BillToAddress" />
           <UseClassMap ElementType="Address" />
        </ClassMap>
未找到dbname的存放处??
但是找到如下的备注,该如何使用?

<!-- ************************************************************* -->
<!--                    Database Reference Elements                -->
<!-- ************************************************************* -->

<!ELEMENT %p;UseTable EMPTY>
<!ATTLIST %p;UseTable
          Database CDATA "Default"
          Catalog CDATA #IMPLIED
          Schema CDATA #IMPLIED
          Name CDATA #REQUIRED>

<!ELEMENT %p;UseColumn EMPTY>
<!ATTLIST %p;UseColumn
          Name CDATA #REQUIRED>

<!ELEMENT %p;UseUniqueKey EMPTY>
<!ATTLIST %p;UseUniqueKey
          Name CDATA "PrimaryKey">

<!ELEMENT %p;UseForeignKey EMPTY>
<!ATTLIST %p;UseForeignKey
          Name CDATA #REQUIRED>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
58.594ms