BIE 网上资源搜集

1 view
Skip to first unread message

Hulala

unread,
Jun 21, 2006, 12:52:14 PM6/21/06
to BIE-China

MingTang

unread,
Jun 21, 2006, 9:52:11 PM6/21/06
to BIE-China
中文的BIE资料基本上都没哦,学这个还真的有点难度。我在数据库中有一个表,生成schema时使用select
a_id from admin,另外的一个表生成schema 时也使用同样的sql
语句 select a_id from
admin,这2个表位于不同的数据库上,当使用这2个schema建立map时,该如何建立才可以使得生成的xml文件可以使用start+dbinsert,我在建立的时候主要出现了tablename="",插入数据的时候显示insert
错误,还有就是他把第一个表的的每一行都作为一个字段,比如第一个表中有3行,则得到的结果是
<row>
<a_id tablename="">1001</a_id>
<a_id tablename="">1002</a_id>
<a_id tablename="">1003</a_id>
</row>
是那里错了。谢谢
Message has been deleted

MingTang

unread,
Jun 22, 2006, 2:04:26 AM6/22/06
to BIE-China
如果translate输出的xml文件为
<row>
<a_id tablename="admin">1001</a_id>
</row>
<row>
<a_id tablename="admin">1002</a_id>
</row>
<row>
<a_id tablename="admin">1003</a_id>
</row>
这是我手工改的xml文件,那么就可以作为insert的message
source了,对于select
出来的xsd出现tablename="",这个可以在mapbuilder中右键添加extensions-general-constant,然后编辑va­lue为要插入的表名就可以了

Hulala

unread,
Jun 22, 2006, 5:46:51 AM6/22/06
to BIE-China
环境: BIE-GPL 6.0.5, Mysql 4.1(JDBC Driver:
mysql-connector-java-3.1.7-bin)

---------------安装问题:

1、JDBC 驱动程序版本问题
下载安装系统所带的mysql jdbc和mysql
4.1一起使用会报连接失败,我换成了3.1.7版,具体做法是拷贝到三个目录下(C:\BIE-gpl\drivers、C:\BIE-gpl\deploy\jboss、C:\BIE-gpl\deploy\jboss\bie.sar,也许不用每个地方都拷一份?),同时修改bin目录下的runmap.bat文件,改用更换后的jdbc驱动文件;

2、MapBuilder jar包缺少jython.jar问题

从此处(http://www.jython.org/Project/download.html)下载jython
2.1,按(http://www.jython.org/Project/installation.html)所说安装即可。


---------------使用问题:

1、关于Ming Tang所说tablename为空的问题
在Mysql也有同样的问题,但只是表名为admin才这样,我用的其他表名暂无此问题。
可能是admin的特殊性,比如说和登陆用户名相同......。

2、字段重复问题
你碰到的是在xml文件中三条记录并作了xml的一个row,我碰到的情况是一条记录对应一个row,但row中每个字段都重复一次,包括内容。总之,有问题。

不过,使用后发现6.0.5的mapBuilder 已无此问题。

3、其他问题:我在研究你提到的tablename为空的问题时还发现,如果表中无记录,则生成的xsd文件没有row元素。

我的成功例子:
流程 start+db select+translate+db insert
数据路线 【mysql exam数据库的book表】=》【mysql
test数据库的book表】

两个表的表结构不同,在mapbuilder中映射。如果表名不同,需要如

你所说的操作-"在mapbuilder中右键添加extensions-general-constant,
然后编辑va-lue为要插入的表名"。

实际效果 将源表的三条记录导入目标表

-------------------我的下一步工作方向:

想用mapForce取代mapBuilder,毕竟mapForce好用多了(有单步调试功能)。而且bie的文档转换支持xslt,只要mapforce生成的xslt能在bie下执行就可以了。

已经发现数据库导出的xsd文件中的xs:extension在mapforce中无法识别,你研究看看?

MingTang

unread,
Jun 22, 2006, 10:28:52 PM6/22/06
to BIE-China
我用的是MSSQL,但是换表名字为其他的,select
出来的tablename还是="",不过这个也不成什么问题,主要就是translate输出的xml文件只有一个row,会不会是mapbuilder中建立的映射错误了呢?hulala说你在mysql中已经有成功的例子了,那你能把你例子建立的map文件贴出来看看。我是才开始接触bie的,也花了一段时间了,但是没什么进展。如果解决了row的问题,那也算是学习BIE的一个里程碑吧。在中国使用bie的好象很少,国外的资料比较多,不过英语水平较差,不怎么好沟通。我先还是说说我的map文件是怎么建立的吧:
-row
row-
--a_id
------------------------------------------a_id--
---@allowsnull--------------------------@allowsnull----
---............----------------------------.......----
---@tablename constant--------@tanblename----
---@type--------------------------------@type----
--a_username------------------------------a_username--
---@allowsnull--------------------------@allowsnull----
---.............----------------------------......----
---@tablename constant--------@tanblename----
---@type-------------------------------@type----
应该是这里搞错了才导致row错误的吧。

MingTang

unread,
Jun 22, 2006, 10:34:36 PM6/22/06
to BIE-China
xs:extension和mapforce我还不知道这个,如果可能,也去研究下。国外很多用BIE的都说BIE不错,也没有什么mapbuilder错误,会不会有我们用的是中文操作系统的原因?因为重sf.net上下载的bie6.0.4在中文操作系统上是安装不上的,要经过修改才可以装上。
Reply all
Reply to author
Forward
0 new messages