WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

时间:2024-04-17 16:34:54

一、前提需求说明:

  最近在做项目的时候使用jboss WildFly发布BIRT报表,在报表中我是直接添加的JDBC数据源,通过Database URL 、用户名和密码连接数据库。后来在部署到正式和测试服务器的时候还需要每次都需要修改报表文件的数据源。所以就想是不是有办法在报表文件中和服务系统中怎么配置一下,部署的时候不再需要重复修改数据源。这时想到了JNDI(Java Naming and Directory Interface, Java命名和目录接口)。

  默认通过Database URL来连接数据库的配置很简单,只要下载sqlserver 的驱动,然后添加到BIRT驱动管理中,即可选择到通过下拉框Driver Class,这里不再详细叙述。在BIRT报表连接数据库的时候,会先通过Database URL来连接数据库,如果连接不上在通过JNDI连接。

  WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

二、WildFly 配置JNDI

  WildFly服务管理控制台的默认地址是 http://127.0.0.1:9990/console,链接以后因为没有用户,会提示你需要你通过add-user.bat来添加用户。你只要按着提示创建用户即可,然后用创建的用户登陆控制台。

  这里会遇到一个问题,在创建数据源的时候,需要选择系统中部署的 jdbc driver,这时就需要将你的sqlserver数据库的驱动 jar 包放到web项目下的lib下面。同时要注意你的驱动包必须是JDBC-4的格式,否则在 “Detected Driver”下面会看不到你要选择的驱动。还有就是最后一步,填写Connection URL的时候默认给的url多了一个microsoft,去掉即可(jdbc:microsoft:sqlserver--jdbc:sqlserver)。其他地方配置都比较简单,就不再赘述。

  WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

  WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

  WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

三、 发布报表

  最后记住配置好的JNDI名称,将其填写到BIRT报表数据源中JDBC配置中。自此就直接可以将报表部署到系统中,而此时就可以去掉用户名和密码,系统会直接通过JNDI来连接数据库。

 WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改 

最后放一个Sqlserver数据库连接驱动JAR文件的下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=11774