文本数据源

1 设计器中数据源的创建

文本数据库是指用文本文件编写的数据表,如:

类别ID 类别名称
1 饮料
2 调味品
3 点心
4 日用品
5 谷类/麦片
6 肉类/家禽
7 特制品
8 海鲜

这就是用文本文件编写的一张表,存储为csv文件。

1.1  创建文本数据源

单击“语义”菜单的“数据源映射”命令,或选择某个项目,右击——新建——数据源映射,出现“新建数据源”对话框,选择需要创建关系数据源的项目,输入数据源名称,选择数据源类型为“文本数据源”,如图:

单击“下一步”,选择文本数据源的存放路径,输入文本数据源的后缀名称,输入数据分隔符(这里为英文的逗号),如果第一行为列名,第二行为数据类型,则选择相应的复选框,单击“完成”按钮即可。如图:

1.2  报表中的使用

创建一张新的报表,然后单击“摘要”视图中“”按钮,打开“新建数据集”对话框,如图:

2 服务器端数据源的配置

下面我们介绍一下如何在服务器端配置关系数据库,这里以Tomcat服务器为例。

2.1  创建JNDI

用文本文件打开Tomcat的conf文件夹中的server.xml数据源,在Context节点处添加JNDI,如:

  <Resource  name="bios_txt" auth="Container" type="javax.sql.DataSource"
    driverClassName="bios.report.core.jdbc.csv.CsvDriver"
    url="jdbc:bios:csv:e:\server\txt"
    maxActive="20" />
2.2  添加驱动

这里需要的驱动“bios-core.jar”可以从我们公司提供的jar包中找到。然后将其放到tomcat文件夹下的lib文件中即可。

2.3  创建dataSource节点

用文本文件打开报表应用的WEB-INF\resources\report_config.xml文件,在dsConf节点处添加dataSource节点,如:

  <dataSource>
    <Name>txt</Name><!-- 数据源名称,与设计器中一致 -->
    <JNDIPrefix>java:comp/env/</JNDIPrefix><!-- JNDI查找前缀 -->
    <JNDIName>bios_txt</JNDIName>  <!-- 数据源的JNDI资源名称  -->
    <DBType>text</DBType><!-- 数据库类型 -->
    <DBEncode>GBK</DBEncode><!-- 数据库编码方式 -->
    <SQLDecode>false</SQLDecode><!-- 是否进行Sql语句转码  -->
    <Default>false</Default><!-- 是否为默认数据源 -->
  </dataSource>

这样服务器端的文本数据源就配置完成了,将报表放到报表应用的WEB-INF\reports文件下,然后启动Tomcat,在web地址栏输入http://localhost:8080/report然后单击报表名称,查看一下报表是否正常显示。