﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web报表工具-专业博客 &#187; Web报表工具-技术园地</title>
	<atom:link href="http://reportblog.cn/archives/category/webreport-tech/feed" rel="self" type="application/rss+xml" />
	<link>http://reportblog.cn</link>
	<description>报表技术知识：web报表，报表工具，表单工具，报表设计，报表系统，java报表</description>
	<lastBuildDate>Thu, 12 Jan 2012 03:24:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>IIS集成配置</title>
		<link>http://reportblog.cn/archives/1700</link>
		<comments>http://reportblog.cn/archives/1700#comments</comments>
		<pubDate>Thu, 05 Jan 2012 01:00:20 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[IIS集成配置]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1700</guid>
		<description><![CDATA[IIS简介： Internet Information Server的缩写为（IIS）是一个World Wide Web server。 Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页，并且有ASP（Active Server Pages）、JAVA、VBscript产生页面，有着一些扩展功能。IIS支持一些 有趣的东西，像有编辑环境的界面（FRONTPAGE）、有全文检索功能的（INDEX SERVER）、 有多媒体功能的（NET SHOW）。 ASP.net与IIS服务器集成后就可以发布相应的ASP网站。 IIS集成： 我们通过两种服务器的整合就可以将web报表工具FineReport工程与.net工程进行无缝集成。 以web报表工具FineReport自带的工程WebReport为例，先将WebReport工程与可以解析jsp,servlet的服务器集成（例如WebSphere,Tomcat等服务器），然后对服务器与可以解析asp的服务器（例如IIS服务器）进行整合。 IIS集成配置： 1. 复制插件：将FRFilter文件夹拷贝至IIS所在的服务器上的任意目录，如C:\FRFilter 。 该文件夹中包涵IsapiRewrite4.dll ，IsapiRewrite4.ini两个文件。前者为ISAPI筛选器。 2. 修改IsapiRewrite4.ini配置设置：打开配置文件，修改应用服务器端口，如下图： 3. IIS服务器添加筛选器：打开控制面板&#124;管理工具-Internet信息服务，右击网站，选择属性，添加一ISAPI筛选器，筛选器名称任意，如命名为FRFilter，可执行文件选择IsapiRewrite4.dll，如下图： 4. 配置完成，重启IIS服务器： 5. 启动应用服务器如tomcat： 6. 浏览报表： 在浏览其中输入地址如： http://localhost/WebReport/ReportServer/reportlet=/com/doc/cross.cpt 即可访问报表。 Web报表主题相关文章： Jboss 服务器 JNDI 配置数据源连接数据库 Oracle 数据库实现自增长列 Weblogic 10.1 配置JNDI 数据源 Sql server 2000 连接测试 [...]]]></description>
			<content:encoded><![CDATA[<p>IIS简介：<br />
Internet Information Server的缩写为（IIS）是一个World Wide Web server。<br />
Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页，并且有ASP（Active Server Pages）、JAVA、VBscript产生页面，有着一些扩展功能。IIS支持一些<br />
有趣的东西，像有编辑环境的界面（FRONTPAGE）、有全文检索功能的（INDEX SERVER）、<br />
有多媒体功能的（NET SHOW）。<br />
ASP.net与IIS服务器集成后就可以发布相应的ASP网站。<span id="more-1700"></span></p>
<p>IIS集成：<br />
我们通过两种服务器的整合就可以将<a title="web报表工具" href="http://www.finereport.com/web-reportingtool">web报表工具</a>FineReport工程与.net工程进行无缝集成。<br />
以<a title="web报表工具" href="http://www.finereport.com/web-reportingtool">web报表工具</a>FineReport自带的工程WebReport为例，先将WebReport工程与可以解析jsp,servlet的服务器集成（例如WebSphere,Tomcat等服务器），然后对服务器与可以解析asp的服务器（例如IIS服务器）进行整合。</p>
<p>IIS集成配置：<br />
1. 复制插件：将FRFilter文件夹拷贝至IIS所在的服务器上的任意目录，如C:\FRFilter 。 该文件夹中包涵IsapiRewrite4.dll ，IsapiRewrite4.ini两个文件。前者为ISAPI筛选器。<br />
2. 修改IsapiRewrite4.ini配置设置：打开配置文件，修改应用服务器端口，如下图：</p>
<p><a title="http://www.finereport.com/forumimages/i-modify.jpg" href="http://www.finereport.com/forumimages/i-modify.jpg"><img src="http://www.finereport.com/forumimages/i-modify.jpg" alt="" /></a><br />
3. IIS服务器添加筛选器：打开控制面板|管理工具-Internet信息服务，右击网站，选择属性，添加一ISAPI筛选器，筛选器名称任意，如命名为FRFilter，可执行文件选择IsapiRewrite4.dll，如下图：</p>
<p><a title="http://www.finereport.com/forumimages/i-add.jpg" href="http://www.finereport.com/forumimages/i-add.jpg"><img src="http://www.finereport.com/forumimages/i-add.jpg" alt="" /></a><br />
4. 配置完成，重启IIS服务器：<br />
5. 启动应用服务器如tomcat：<br />
6. 浏览报表：<br />
在浏览其中输入地址如：<br />
<a href="http://www.finereport.com/web-reportingtool">http://localhost/WebReport/ReportServer/reportlet=/com/doc/cross.cpt</a> 即可访问<a title="报表" href="http://www.finereport.com">报表</a>。</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
<li><a href="http://reportblog.cn/archives/1667">程序数据集传参使用解决方案</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1700/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jboss 服务器 JNDI 配置数据源连接数据库</title>
		<link>http://reportblog.cn/archives/1697</link>
		<comments>http://reportblog.cn/archives/1697#comments</comments>
		<pubDate>Thu, 22 Dec 2011 01:41:16 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[Jboss 服务器]]></category>
		<category><![CDATA[JNDI 配置]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1697</guid>
		<description><![CDATA[一. Jboss端配置JNDI 数据源 Jboss安装目录 doc\examples\jca 下有各种如oracle,db2,sqlserver等数据库JNDI配置的模板文件，形式为 “数据库-ds.xml”，在此我们以配置oracle10g 数据库为例： 将Jboss_home\docs\examples\jca 下的oracle-ds.xml 拷贝到 Jboss_home\server\default\deploy 下，并做相应的修改，主要内容如下： http://www.finereport.com/forumimages/j-deploy.jpg 其中红色标注的是后面加上的,有了这句在jndi前可以不用加前缀;否则,需要加前缀java(即:lookup(“Zqb Oracle Test”) 和 lookup(“java:Zqb Oracle Test”)的区别). 二. 拷贝数据库驱动程序 配置好JNDI数据源后还不够，还需要将相应数据库的驱动程序拷贝至Jboss_home\ server\default\lib，在此将oracle数据库驱动ojdbc14.jar拷贝至Jboss_home\ server\default\lib 目录下 三. 用JNDI连接数据源并制作模板 打开设计器，在登录对话框的远程环境里选择远程服务器如下图： 如果事先没有定义远程服务器，就点击登录界面的…按钮如下图： 选择+按钮 新增一个远程服务器 登陆到远程服务器后，开始配置远程服务器。如下图，填写好各项配置： 配置完成后，点击确定，登陆到远程服务器的运行环境。 再打开服务器—定义数据连接，使用JDBC连接oracle10g数据库并制作好模板，将数据源修改为JNDI，如下图： Initial_context_factory : 选择org.jboss.naming.HttpNamingContextFactory Provider_url: 修改其中的地址为相应服务器所在地址与端口 保存模板 四. 部署应用并访问 重命名WebReport文件夹为WebReport.war， 拷贝至Jboss_home\server\default\deploy下，启动服务器输入地址，便可以访问jndi数据源制作的模板啦 Web报表主题相关文章： IIS集成配置 Oracle 数据库实现自增长列 Weblogic 10.1 配置JNDI 数据源 Sql [...]]]></description>
			<content:encoded><![CDATA[<p>一. Jboss端配置JNDI 数据源<br />
Jboss安装目录 doc\examples\jca 下有各种如oracle,db2,sqlserver等数据库JNDI配置的模板文件，形式为 “数据库-ds.xml”，在此我们以配置oracle10g 数据库为例：<br />
将Jboss_home\docs\examples\jca 下的oracle-ds.xml<br />
拷贝到 Jboss_home\server\default\deploy 下，并做相应的修改，主要内容如下： <span id="more-1697"></span> http://www.finereport.com/forumimages/j-deploy.jpg<br />
其中红色标注的是后面加上的,有了这句在jndi前可以不用加前缀;否则,需要加前缀java(即:lookup(“Zqb Oracle Test”) 和 lookup(“java:Zqb Oracle Test”)的区别).</p>
<p>二. 拷贝数据库驱动程序<br />
配置好JNDI数据源后还不够，还需要将相应数据库的驱动程序拷贝至Jboss_home\ server\default\lib，在此将oracle数据库驱动ojdbc14.jar拷贝至Jboss_home\ server\default\lib 目录下</p>
<p>三. 用JNDI连接数据源并制作模板<br />
打开设计器，在登录对话框的远程环境里选择远程服务器如下图：</p>
<p><a title="http://www.finereport.com/forumimages/j-setting1.jpg" href="http://www.finereport.com/forumimages/j-setting1.jpg"><img src="http://www.finereport.com/forumimages/j-setting1.jpg" alt="" /></a><br />
如果事先没有定义远程服务器，就点击登录界面的…按钮如下图：</p>
<p><a title="http://www.finereport.com/forumimages/j-setting2.jpg" href="http://www.finereport.com/forumimages/j-setting2.jpg"><img src="http://www.finereport.com/forumimages/j-setting2.jpg" alt="" /></a><br />
选择+按钮 新增一个远程服务器</p>
<p><a title="http://www.finereport.com/forumimages/j-add.jpg" href="http://www.finereport.com/forumimages/j-add.jpg"><img src="http://www.finereport.com/forumimages/j-add.jpg" alt="" /></a><br />
登陆到远程服务器后，开始配置远程服务器。如下图，填写好各项配置：</p>
<p><a title="http://www.finereport.com/forumimages/j-fillin.jpg" href="http://www.finereport.com/forumimages/j-fillin.jpg"><img src="http://www.finereport.com/forumimages/j-fillin.jpg" alt="" /></a><br />
配置完成后，点击确定，登陆到远程服务器的运行环境。<br />
再打开服务器—定义数据连接，使用JDBC连接oracle10g数据库并制作好模板，将数据源修改为JNDI，如下图：</p>
<p><a title="http://www.finereport.com/forumimages/j-define.jpg" href="http://www.finereport.com/forumimages/j-define.jpg"><img src="http://www.finereport.com/forumimages/j-define.jpg" alt="" /></a><br />
Initial_context_factory : 选择org.jboss.naming.HttpNamingContextFactory<br />
Provider_url: 修改其中的地址为相应服务器所在地址与端口<br />
保存模板</p>
<p>四. 部署应用并访问<br />
重命名WebReport文件夹为WebReport.war，<br />
拷贝至Jboss_home\server\default\deploy下，启动服务器输入地址，便可以访问jndi数据源制作的模板啦</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
<li><a href="http://reportblog.cn/archives/1667">程序数据集传参使用解决方案</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1697/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 数据库实现自增长列</title>
		<link>http://reportblog.cn/archives/1694</link>
		<comments>http://reportblog.cn/archives/1694#comments</comments>
		<pubDate>Mon, 19 Dec 2011 02:03:29 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[Oracle 数据库]]></category>
		<category><![CDATA[自增长列]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1694</guid>
		<description><![CDATA[SqlServer 和MySql都有自增长的功能，而Oracle必须接结合sequence序列（一般用于主键列）,并使用触发器才能够实现自动增长，具体步骤如下： 一、 建表 create table list（id number,name varchar2(50)）; 二、 创建序列 1. create sequence list_seq 2. minvalue 1 3. maxvalue 99999999999999 4. start with 1 5. increment by 1 6. cache 20 7. order; 三、 创建触发器 1. Create or replace trigger list_tg 2. Before insert on list 3. For each row 4. Begin 5. Select [...]]]></description>
			<content:encoded><![CDATA[<p>SqlServer 和MySql都有自增长的功能，而Oracle必须接结合sequence序列（一般用于主键列）,并使用触发器才能够实现自动增长，具体步骤如下：</p>
<p>一、 建表<br />
create table list（id number,name varchar2(50)）;<span id="more-1694"></span></p>
<p>二、 创建序列</p>
<p>1. create sequence list_seq<br />
2. minvalue 1<br />
3. maxvalue 99999999999999<br />
4. start with 1<br />
5. increment by 1<br />
6. cache 20<br />
7. order;</p>
<p><a title="http://www.finereport.com/forumimages/o-order.jpg " href="http://www.finereport.com/forumimages/o-order.jpg"><img src="http://www.finereport.com/forumimages/o-order.jpg" alt="" /></a></p>
<p>三、 创建触发器<br />
1. Create or replace trigger list_tg<br />
2. Before insert on list<br />
3. For each row<br />
4. Begin<br />
5. Select list_seq.nextval into :new.id from dual;<br />
6. End;</p>
<p><a title="http://www.finereport.com/forumimages/o-trigger1.jpg " href="http://www.finereport.com/forumimages/o-trigger1.jpg"><img src="http://www.finereport.com/forumimages/o-trigger1.jpg" alt="" /></a></p>
<p><a title="http://www.finereport.com/forumimages/o-trigger2.jpg " href="http://www.finereport.com/forumimages/o-trigger2.jpg"><img src="http://www.finereport.com/forumimages/o-trigger2.jpg" alt="" /></a></p>
<p><a title="http://www.finereport.com/forumimages/o-trigger3.jpg" href="http://www.finereport.com/forumimages/o-trigger3.jpg"><img src="http://www.finereport.com/forumimages/o-trigger3.jpg" alt="" /> </a><br />
四、 插入数据<br />
Insert into list values(’’,’aaa’);<br />
Insert into list values(’’,’bbb’);<br />
Select * from list ;<br />
结果为:<br />
ID name<br />
1 aaa<br />
2 bbb</p>
<p>在Oracle 10g 的em 操作界面按照上图配置即可实现自增长序列，数据库端设置完成；<br />
在插入数据时自增长字段可由空值’ ’或null代替，如果insert 语句中列出了所插入的字段，如insert into list(name) values(’aaa’),则增长字段不用写 ；如模板所示为一简单的表单，ID字段绑定数据库中的自增长列，BS填报时，id字段不输入若输入任意数字时，数据库中都按照自增长的规律进行赋值，如下图所示：</p>
<p><a title="http://www.finereport.com/forumimages/o-assign1.jpg" href="http://www.finereport.com/forumimages/o-assign1.jpg"><img src="http://www.finereport.com/forumimages/o-assign1.jpg" alt="" /> </a></p>
<p><a title="http://www.finereport.com/forumimages/o-assign2.jpg " href="http://www.finereport.com/forumimages/o-assign2.jpg"><img src="http://www.finereport.com/forumimages/o-assign2.jpg" alt="" /></a></p>
<p><a title="http://www.finereport.com/forumimages/o-assign3.jpg" href="http://www.finereport.com/forumimages/o-assign3.jpg"><img src="http://www.finereport.com/forumimages/o-assign3.jpg" alt="" /></a></p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
<li><a href="http://reportblog.cn/archives/1667">程序数据集传参使用解决方案</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1694/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weblogic 10.1 配置JNDI 数据源</title>
		<link>http://reportblog.cn/archives/1689</link>
		<comments>http://reportblog.cn/archives/1689#comments</comments>
		<pubDate>Thu, 15 Dec 2011 01:52:38 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[JNDI 数据源]]></category>
		<category><![CDATA[Weblogic 10.1]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1689</guid>
		<description><![CDATA[一. JNDI连接的使用原理： 1.1 在设计器中先用JDBC连接到数据库，建立数据库连接，然后用SQL或者其他方法创建数据集，使用数据集制作好报表，然后把建立的数据库连接从JDBC连接改成JNDI连接，保存模板，并部署至weblogic服务器。 1.2 服务器端配置数据源。 1.3 修改应用WEB-INF下的web.xml文件 这样就可以通过WEB浏览器浏览到使用JNDI数据源的报表了。 二. 我们以oracle 10g数据源制作的模板jndi.cpt为例来说明 2.1 设计器制作报表： l 在设计器中用JDBC连接到oracle 10g数据库，使用数据库中的数据表student 制作如下模板jndi.cpt： l 回到定义数据连接面板，将先前定义的数据库连接变为JNDI连接，设置JNDI的名字为oracle l 保存模板至weblogic 10的应用目录WebReport/WEB-INF/reportlets下，保存为 jndi.cpt. 此时服务器端的数据源还没有配置，启动服务器并访问jndi报表会显示如下类似错误： 2.2 服务器端配置数据源 l 打开weblogic 10 的控制界面：http://localhost:7001/console ；登录weblogic server 域 选择 域结构&#124;服务&#124;JDBC&#124;数据源 打开数据源配置界面: l 锁定并编辑该界面，新建一数据源，设置数据源JNDI名称为oracle（即制作模板时定义的JNDI名字），选择数据库类型及驱动点击“下一步”，如下图： l 事务选项根据自己要求定义，在此默认，点击“下一步” l 配置连接属性：数据库名，URL，用户名及密码，建立weblogic 10 至oracle 10g的物理连接 l 测试刚定义的数据源连接：weblogic 服务器会呈现之前我们配置好的数据源，并提供连接测试，点击“测试配置”，弹出消息“连接测试成功”说明配置正确，点击“下一步” l 部署新建的JDBC数据源：选中需要部署该数据源的服务器，点击“完成” 服务器端的数据源配置好了，激活配置后部署的应用就能通过“oracle”这个桥梁（JNDI名字）与oracle数据库连接 2.3 修改应用WebReport/web-inf 下的web.xml文件: [...]]]></description>
			<content:encoded><![CDATA[<p><strong>一. JNDI连接的使用原理：</strong></p>
<p>1.1 在设计器中先用JDBC连接到数据库，建立数据库连接，然后用SQL或者其他方法创建数据集，使用数据集制作好<a title="报表" href="http://www.finereport.com/">报表</a>，然后把建立的数据库连接从JDBC连接改成JNDI连接，保存模板，并部署至weblogic服务器。<span id="more-1689"></span></p>
<p>1.2 服务器端配置数据源。</p>
<p>1.3 修改应用WEB-INF下的web.xml文件</p>
<p>这样就可以通过WEB浏览器浏览到使用JNDI数据源的<a title="报表" href="http://www.finereport.com/">报表</a>了。</p>
<p><strong>二. 我们以oracle 10g数据源制作的模板jndi.cpt为例来说明</strong></p>
<p>2.1 设计器制作报表：</p>
<p>l 在设计器中用JDBC连接到oracle 10g数据库，使用数据库中的数据表student 制作如下模板jndi.cpt：</p>
<p><a title="http://www.finereport.com/forumimages/w-formwork.jpg" href="http://www.finereport.com/forumimages/w-formwork.jpg"><img src="http://www.finereport.com/forumimages/w-formwork.jpg" alt="" /></a></p>
<p>l 回到定义数据连接面板，将先前定义的数据库连接变为JNDI连接，设置JNDI的名字为oracle</p>
<p><a title="http://www.finereport.com/forumimages/w-link1.jpg" href="http://www.finereport.com/forumimages/w-link1.jpg"><img src="http://www.finereport.com/forumimages/w-link1.jpg" alt="" /></a></p>
<p><a title="http://www.finereport.com/forumimages/w-link2.jpg" href="http://www.finereport.com/forumimages/w-link2.jpg"><img src="http://www.finereport.com/forumimages/w-link2.jpg" alt="" /></a></p>
<p>l 保存模板至weblogic 10的应用目录WebReport/WEB-INF/reportlets下，保存为</p>
<p>jndi.cpt.</p>
<p>此时服务器端的数据源还没有配置，启动服务器并访问jndi<a title="报表" href="http://www.finereport.com/">报表</a>会显示如下类似错误：</p>
<p><a title="http://www.finereport.com/forumimages/w-error.jpg" href="http://www.finereport.com/forumimages/w-error.jpg"><img src="http://www.finereport.com/forumimages/w-error.jpg" alt="" /></a></p>
<p>2.2 服务器端配置数据源</p>
<p>l 打开weblogic 10 的控制界面：<a title="http://localhost:7001/console" href="http://localhost:7001/console">http://localhost:7001/console</a> ；登录weblogic server 域</p>
<p>选择 域结构|服务|JDBC|数据源 打开数据源配置界面:</p>
<p><a title="http://www.finereport.com/forumimages/w-configure.jpg" href="http://www.finereport.com/forumimages/w-configure.jpg"><img src="http://www.finereport.com/forumimages/w-configure.jpg" alt="" /></a></p>
<p>l 锁定并编辑该界面，新建一数据源，设置数据源JNDI名称为oracle（即制作模板时定义的JNDI名字），选择数据库类型及驱动点击“下一步”，如下图：</p>
<p><a title="http://www.finereport.com/forumimages/w-set.jpg" href="http://www.finereport.com/forumimages/w-set.jpg"><img src="http://www.finereport.com/forumimages/w-set.jpg" alt="" /></a></p>
<p>l 事务选项根据自己要求定义，在此默认，点击“下一步”</p>
<p>l 配置连接属性：数据库名，URL，用户名及密码，建立weblogic 10 至oracle 10g的物理连接</p>
<p><a title="http://www.finereport.com/forumimages/w-attribute.jpg" href="http://www.finereport.com/forumimages/w-attribute.jpg"><img src="http://www.finereport.com/forumimages/w-attribute.jpg" alt="" /></a></p>
<p>l 测试刚定义的数据源连接：weblogic 服务器会呈现之前我们配置好的数据源，并提供连接测试，点击“测试配置”，弹出消息“连接测试成功”说明配置正确，点击“下一步”</p>
<p>l 部署新建的JDBC数据源：选中需要部署该数据源的服务器，点击“完成”</p>
<p><a title="http://www.finereport.com/forumimages/w-deploy.jpg" href="http://www.finereport.com/forumimages/w-deploy.jpg"><img src="http://www.finereport.com/forumimages/w-deploy.jpg" alt="" /></a></p>
<p>服务器端的数据源配置好了，激活配置后部署的应用就能通过“oracle”这个桥梁（JNDI名字）与oracle数据库连接</p>
<p>2.3 修改应用WebReport/web-inf 下的web.xml文件:</p>
<p>在……之间增加如下语句：</p>
<p><a title="http://www.finereport.com/forumimages/w-modify.jpg" href="http://www.finereport.com/forumimages/w-modify.jpg"><img src="http://www.finereport.com/forumimages/w-modify.jpg" alt="" /></a></p>
<p>2.4 配置完全，可以访问JNDI数据源报表啦：</p>
<p><a title="http://www.finereport.com/forumimages/w-access.jpg" href="http://www.finereport.com/forumimages/w-access.jpg"><img src="http://www.finereport.com/forumimages/w-access.jpg" alt="" /></a></p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
<li><a href="http://reportblog.cn/archives/1667">程序数据集传参使用解决方案</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1689/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql server 2000 连接测试</title>
		<link>http://reportblog.cn/archives/1685</link>
		<comments>http://reportblog.cn/archives/1685#comments</comments>
		<pubDate>Mon, 12 Dec 2011 02:09:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[Sql server 2000]]></category>
		<category><![CDATA[连接测试]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1685</guid>
		<description><![CDATA[1. Sqlserver 2000 数据库本身规定了其数据库连接URL 的一般格式，如下： jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]] 之间无空格，其中： ·        jdbc:sqlserver://（必需）称为子协议，且为常数。 ·        serverName（可选）是要连接到的服务器的地址。它可以是 DNS 或 IP 地址，也可以是本地计算机地址 localhost 或 127.0.0.1。如果未在连接 URL 中指定服务器名称，则必须在属性集中指定。 ·        instanceName （可选）是 serverName 上要连接到的实例。如果未指定，则会连接到默认实例（master）。 ·        portNumber（可选）是 serverName 上要连接到的端口。默认值为 1433。如果使用默认端口，则无需在 URL 中指定端口及其前面的“:”。 ·        property（可选）是一个或多个选项连接属性。有关详细信息，请参阅设置连接属性。可指定该列表中的任何属性。属性只能用分号（“;”）分隔，且不允许重复。 2.  连接实例写法有： A.    使用用户名和密码连接到本地计算机上的默认数据库： jdbc:sqlserver://localhost;user=MyUserName;password=*****; B.       使用集成身份验证连接到本地计算机上的默认数据库： jdbc:sqlserver://localhost;integratedSecurity=true; C.    连接到远程服务器上的指定数据库： jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true; D.      连接到远程服务器上的默认端口： jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true; E.    通过指定自定义应用程序名称进行连接： &#160; jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp; 3 .以我们设计器中的URL写法为例详细说明： jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test 其中 (1).  databaseName=test为连接属性，属性值只用“;”分割，我们只用了一个，如有多个属性便可写成: ;databaseName=test;user=MyUserName;password=*****; 因此在test后加不加“;”连接效果一样，即URL写成 jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test 或jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test； 都能正确读取test数据库      (2).Sql server 2000 数据库默认的端口为1433，默认的数据库实master（应该是安装时自带的数据库） 当URL中databaseName 前误加了一“_”空格后，如下： jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test 此时获取URL时自动判断空格时URL结束，即获得的实际URL为： jdbc:microsoft:sqlserver://192.168.100.112:1433; 而此URL连接的为sql server 2000 默认的数据库 master,所以读取的就是数据库master中的表 &#160; &#160; 结论： 在写sql server 2000的数据库URL时，除其本身已有的特殊字符外，要添加其他特殊字符必须进行转义，将这些字符包含在大括号中， JDBC 驱动程序将支持对其进行转义。例如，{;} 将转义分号。 转义的值可以包含特殊字符（特别是“=”、“;”、“[]”和空格），但不能包含大括号。应将必须进行转义且包含大括号的值添加到属性集中。 方案： 将我们所用的数据库改变为默认数据库是一种方法，但一般存在多个可用的数据库，所以除sqlserver 本身规定的URL格式外，在我们的程序中最好进行限制，只使用 jdbc:microsoft:sqlserver://ip:port;databaseName=Databasename 一种写法，且中间不能有空格等 [...]]]></description>
			<content:encoded><![CDATA[<p>1. Sqlserver 2000 数据库本身规定了其数据库连接URL 的一般格式，如下：</p>
<p><tt><strong>jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]</strong></tt></p>
<p>之间无空格，其中：</p>
<p>·        <strong>jdbc:sqlserver://</strong>（必需）称为子协议，且为常数。</p>
<p>·        <strong>serverName</strong>（可选）是要连接到的服务器的地址。它可以是 DNS 或 IP 地址，也可以是本地计算机地址 localhost 或 127.0.0.1。如果未在连接 URL 中指定服务器名称，则必须在属性集中指定。<span id="more-1685"></span></p>
<p>·        <strong>instanceName</strong> （可选）是 serverName 上要连接到的实例。如果未指定，则会连接到默认实例（master）。</p>
<p>·        <strong>portNumber</strong>（可选）是 serverName 上要连接到的端口。默认值为 1433。如果使用默认端口，则无需在 URL 中指定端口及其前面的“:”。</p>
<p>·        <strong>property</strong>（可选）是一个或多个选项连接属性。有关详细信息，请参阅<a href="http://msdn.microsoft.com/zh-cn/library/ms378988(SQL.90).aspx">设置连接属性</a>。可指定该列表中的任何属性。属性只能用分号（“;”）分隔，且不允许重复。</p>
<p>2.  连接实例写法有：</p>
<p>A.    使用用户名和密码连接到本地计算机上的默认数据库：</p>
<p><tt>jdbc:sqlserver://localhost;user=MyUserName;password=*****;</tt></p>
<p>B.       使用集成身份验证连接到本地计算机上的默认数据库：</p>
<p><tt>jdbc:sqlserver://localhost;integratedSecurity=true;</tt></p>
<p>C.    连接到远程服务器上的指定数据库：</p>
<p><tt>jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;</tt></p>
<p>D.      连接到远程服务器上的默认端口：</p>
<p><tt>jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true;</tt></p>
<p>E.    通过指定自定义应用程序名称进行连接：</p>
<p>&nbsp;</p>
<p><tt>jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;</tt></p>
<p>3 .以我们设计器中的URL写法为例详细说明：</p>
<p><strong>jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test</strong></p>
<p>其中</p>
<p><strong>(1). </strong><strong> </strong>databaseName=test为连接属性，属性值只用“;”分割，我们只用了一个，如有多个属性便可写成:</p>
<p>;databaseName=test<tt>;user=MyUserName;password=*****;</tt></p>
<p><tt>因此在test后加不加“;”连接效果一样，即URL写成</tt></p>
<p>jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test</p>
<p>或jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test；</p>
<p>都能正确读取test数据库</p>
<p><strong>     (2).</strong>Sql server 2000 数据库默认的端口为1433，默认的数据库实master（应该是安装时自带的数据库）</p>
<p>当URL中databaseName 前误加了一“_”空格后，如下：</p>
<p><strong>jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test</strong></p>
<p>此时获取URL时自动判断空格时URL结束，即获得的实际URL为：</p>
<p><strong>jdbc:microsoft:sqlserver://192.168.100.112:1433;</strong></p>
<p>而此URL连接的为sql server 2000 默认的数据库 master,所以读取的就是数据库master中的表</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>结论：</p>
<p>在写sql server 2000的数据库URL时，除其本身已有的特殊字符外，要添加其他特殊字符必须进行转义，将这些字符包含在大括号中， JDBC 驱动程序将支持对其进行转义。例如，{;} 将转义分号。</p>
<p>转义的值可以包含特殊字符（特别是“=”、“;”、“[]”和空格），但不能包含大括号。应将必须进行转义且包含大括号的值添加到属性集中。</p>
<p>方案：</p>
<p>将我们所用的数据库改变为默认数据库是一种方法，但一般存在多个可用的数据库，所以除sqlserver 本身规定的URL格式外，在我们的程序中最好进行限制，只使用</p>
<p>jdbc:microsoft:sqlserver://ip:port;databaseName=Databasename</p>
<p>一种写法，且中间不能有空格等</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1667">程序数据集传参使用解决方案</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1685/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>程序数据集传参使用解决方案</title>
		<link>http://reportblog.cn/archives/1667</link>
		<comments>http://reportblog.cn/archives/1667#comments</comments>
		<pubDate>Thu, 01 Dec 2011 03:02:20 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[FineReport报表工具]]></category>
		<category><![CDATA[web报表工具]]></category>
		<category><![CDATA[程序数据集]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1667</guid>
		<description><![CDATA[通过TableData接口可以读取任何形式的数据源，web报表Finereport报表的数据来源可以是数据库数据或是文本数据，并且还可以是其它任何类型的数据，因为这些所有的数据来源都实现了TableData接口，所以用户只要实现了TableData接口，也就可以用自定义类型的数据源了。对于传参，我们可以在程序数据集中写入传入的参数，此方案传入的参数为tableName 和 columnNames 两项；即传入 数据库表名 以及 所需要的列名 取出所需要的值；这里连的数据库为web报表工具FineReport的内置数据库，适用时可输入表名：stscore 列名 name；sex。具体步骤如下： 1. 定义程序数据源 1.1   TableData接口简介 TableData接口所需实现的方法 只要实现了TableData接口，web报表工具FineReport报表引擎就能够读取数据源作为报表数据源使用。TableData接口主要有5个方法，如下： 1). public int getColumnCount();//获取TableData的总列数 2). public String getColumnName(int columnIndex);//获取TableData中第columnIndex列的列名。 3). public boolean hasRow(int rowIndex);  //判断是否存在第rowIndex行，这主要是用于处理超大数据时，完全遍历所有数据获取总行数相当困难，用这个方法来判断第rowIndex行是否存在，存在则可读取。 4). public int getRowCount();//获取TableData的总行数。 5).public Object getValueAt(int rowIndex, int columnIndex);//获取TableData中第columnIndex列，第rowIndex行的数据。 1.2   以PramTableDataDemo为例描述如何实现TableData接口 因为AbstractTableData已经实现了默认的hasRow(int rowIndex)方法，所以可以从AbstractTableData扩展，定义ParamTableDataDemo，代码如下： private String splitMark =”;”; // 自定义间隔符 暂定为‘；’ 即输入列名参数时需像如此 name；sex；age； private String[] columnNames =null; // 列字段名数组 保存在数据集窗口下一开始显示的数据列名称 private int columnNum = 10; // 自定义需要列出的列数量 即在数据集窗口列出的数据集下的字段数量 &#160; String[] colNames = null; // 保存取到的字段 即输入的参数字段，假如是name；sex 参数字段即为name 和 sex两项 private ArrayList valueList = null; // 保存查询得到的值列 1.3   构造函数 public ParamTableDataDemo() { // 定义需要的参数 tablename [...]]]></description>
			<content:encoded><![CDATA[<p>通过TableData接口可以读取任何形式的数据源，<a title="web报表" href="http://www.finereport.com/knowledge/professional/webreport.html">web报表</a>Finereport<a title="报表" href="http://www.finereport.com/">报表</a>的数据来源可以是数据库数据或是文本数据，并且还可以是其它任何类型的数据，因为这些所有的数据来源都实现了TableData接口，所以用户只要实现了TableData接口，也就可以用自定义类型的数据源了。对于传参，我们可以在程序数据集中写入传入的参数，此方案传入的参数为tableName 和 columnNames 两项；即传入 数据库表名 以及 所需要的列名 取出所需要的值；这里连的数据库为<a title="web报表工具" href="http://www.finereport.com/web-reportingtool">web报表工具</a>FineReport的内置数据库，适用时可输入表名：stscore 列名 name；sex。具体步骤如下：<span id="more-1667"></span></p>
<p><strong>1.</strong><strong> </strong><strong>定义程序数据源</strong><a name="1" href="http://hi.baidu.com/%E6%88%91%E5%8F%AA%E7%88%B1k/blog/item/c61a67086dc40d23b1351dbc.html?timeStamp=1322706067712"></a><strong></strong></p>
<p><strong>1.1   </strong><strong>TableData</strong><strong>接口简介</strong></p>
<p>TableData接口所需实现的方法</p>
<p>只要实现了TableData接口，<a title="web报表工具" href="http://www.finereport.com/web-reportingtool">web报表工具</a>FineReport<a title="报表" href="http://www.finereport.com">报表</a>引擎就能够读取数据源作为报表数据源使用。TableData接口主要有5个方法，如下：</p>
<p>1).<strong> public</strong> <strong>int</strong> getColumnCount();//获取TableData的总列数</p>
<p>2). <strong>public</strong> String getColumnName(<strong>int</strong> columnIndex);//获取TableData中第columnIndex列的列名。</p>
<p>3).<strong> public</strong> <strong>boolean</strong> hasRow(<strong>int</strong> rowIndex);  //判断是否存在第rowIndex行，这主要是用于处理超大数据时，完全遍历所有数据获取总行数相当困难，用这个方法来判断第rowIndex行是否存在，存在则可读取。</p>
<p>4). <strong>public</strong> <strong>int</strong> getRowCount();//获取TableData的总行数。</p>
<p>5).<strong>public</strong> Object getValueAt(<strong>int</strong> rowIndex, <strong>int</strong> columnIndex);//获取TableData中第columnIndex列，第rowIndex行的数据。</p>
<p><strong>1.2   </strong><strong>以PramTableDataDemo为例描述如何实现TableData接口</strong><strong></strong></p>
<p>因为AbstractTableData已经实现了默认的hasRow(int rowIndex)方法，所以可以从AbstractTableData扩展，定义ParamTableDataDemo，代码如下：</p>
<p>private String splitMark =”;”;</p>
<p>// 自定义间隔符 暂定为‘；’ 即输入列名参数时需像如此 name；sex；age；</p>
<p>private String[] columnNames =null;</p>
<p>// 列字段名数组 保存在数据集窗口下一开始显示的数据列名称</p>
<p>private int columnNum = 10;</p>
<p>// 自定义需要列出的列数量 即在数据集窗口列出的数据集下的字段数量</p>
<p>&nbsp;</p>
<p>String[] colNames = null;</p>
<p>// 保存取到的字段 即输入的参数字段，假如是name；sex 参数字段即为name 和 sex两项</p>
<p>private ArrayList valueList = null;</p>
<p>// 保存查询得到的值列</p>
<p><strong>1.3   </strong><strong>构造函数</strong></p>
<p>public ParamTableDataDemo() {</p>
<p>// 定义需要的参数 tablename columnNames</p>
<p>this.parameters = newParameter[]</p>
<p>{</p>
<p>new Parameter(“tableName”),new Parameter(“columnNames”)</p>
<p>};</p>
<p>// 初始化下列名，暂定为columnName#0，columnName#1&#8230;&#8230;显示在数据集窗体中的</p>
<p>columnNames = new String[columnNum];</p>
<p>for (int i = 0; i &lt; columnNum; i++)</p>
<p>{</p>
<p>columnNames[i]= “columnNames#” + String.valueOf(i);</p>
<p>}</p>
<p>}</p>
<p><strong>1.4   </strong><strong>匹配取值</strong></p>
<p>for (int i = 0; i &lt; parameters.length; i++)</p>
<p>{</p>
<p>If(parameters[i].getName().equals(“tableName”)) // 做匹配</p>
<p>tableName = parameters[i].getValue().toString();</p>
<p>else</p>
<p>colNames =this.getParameters()[i].getValue().toString().split(</p>
<p>splitMark);</p>
<p>}</p>
<p><strong>1.5   </strong><strong>构造SQL语句</strong></p>
<p>String sql = “select “;// 传入参数中输入的字段</p>
<p>for (int i = 0; i &lt; colNames.length; i++) {</p>
<p>colNames[i].trim();</p>
<p>if (i == colNames.length &#8211; 1)</p>
<p>sql += colNames[i];</p>
<p>else {sql += colNames[i] +”,”;} }</p>
<p>sql += ” from ” +tableName + “;”;</p>
<p><strong>1.6   </strong><strong>获得数据库连接</strong></p>
<p>public Connection getConnection() {</p>
<p>String driverName =”sun.jdbc.odbc.JdbcOdbcDriver”;// 加载驱动</p>
<p>String url = “jdbc:odbc:Driver={MicrosoftAccess Driver (*.mdb)};DBQ=D:\\ProgramFiles\\finereport\\FineReport6.5\\WebReport\\                              WEB-INF\\resources\\data\\FRDemo.mdb”;</p>
<p>String username = “”;</p>
<p>String password = “”;</p>
<p>Connection con = null;</p>
<p>try {</p>
<p>Class.forName(driverName);</p>
<p>con= DriverManager.getConnection(url, username, password);</p>
<p>} catch(Exception e) {</p>
<p>e.printStackTrace();</p>
<p>returnnull;</p>
<p>}</p>
<p>returncon;</p>
<p>}</p>
<p>具体实现代码如附件所示</p>
<p>编译ParamTableDataDemo.java，将生成的ParamTableDataDemo.class文件放到<a title="报表" href="http://www.finereport.com">报表</a>服务的%\FineReport6.5\WebReport\WEB-INF\classes目录；注意：如该例子所示，其包名为com.demo,所以其类所在路径为com\demo<br />
<strong>2.</strong><strong> </strong><strong>配置程序数据集</strong><strong></strong></p>
<ul>
<li>步骤一：选择“服务器|服务器数据集”，在弹出的窗口左上角点击，选择添加程序，可以把默认名字更改为恰当的名字，如下图所示：<br />
<a title="http://www.finereport.com/forumimages/c-step2.jpg" href="http://www.finereport.com/forumimages/c-step2.jpg"><img src="http://www.finereport.com/forumimages/c-step1.jpg" alt="" /></a></li>
<li>步骤二：点击选择您定义好的类文件，此处选择上面定义好的ParamTableDataDemo.class，点击下方的确定即添加完成。如下图所示：<br />
<a title="http://www.finereport.com/forumimages/c-step2.jpg" href="http://www.finereport.com/forumimages/c-step2.jpg"><img src="http://www.finereport.com/forumimages/c-step2.jpg" alt="" /></a><br />
添加完成后的程序数据集并会在数据面板中出现，如下图所示：<br />
<a title="http://www.finereport.com/forumimages/c-step2-1.jpg" href="http://www.finereport.com/forumimages/c-step2-1.jpg"><img src="http://www.finereport.com/forumimages/c-step2-1.jpg" alt="" /></a><br />
在参数对话框中输入需要传递的参数tableName,columnNames如图所示：<br />
<a title="http://www.finereport.com/forumimages/c-step2-input.jpg" href="http://www.finereport.com/forumimages/c-step2-input.jpg"><img src="http://www.finereport.com/forumimages/c-step2-input.jpg" alt="" /></a><br />
点击确定之后出现如下图面：<br />
<a title="http://www.finereport.com/forumimages/c-step2-3.jpg" href="http://www.finereport.com/forumimages/c-step2-3.jpg"><img src="http://www.finereport.com/forumimages/c-step2-3.jpg" alt="" /></a><strong>          </strong>图片中的columnName#是在程序数据集中自定义的<strong>3. </strong><strong>使用程序数据集</strong><strong>       </strong><strong> </strong>因为columnNames输入的是两个数据列名，所以columnNames#0,columnNames#1字段中存入了相应的name,sex字段数据3.1 将columnNames#0,columnNames#1拖到B2,C2单元格中，表样设计如图所示<br />
<a title="http://www.finereport.com/forumimages/c-table%20design.jpg" href="http://www.finereport.com/forumimages/c-table%20design.jpg"><img src="http://www.finereport.com/forumimages/c-table%20design.jpg" alt="" /></a></p>
<p>点击设计器预览：再次出现参数窗口，输入相应的参数：<br />
<a title="http://www.finereport.com/forumimages/c-input.jpg" href="http://www.finereport.com/forumimages/c-input.jpg"><img src="http://www.finereport.com/forumimages/c-input.jpg" alt="" /></a><br />
再次输入相应的参数，点击确定，预览效果图如下：<br />
<a title="http://www.finereport.com/forumimages/c-preview.jpg" href="http://www.finereport.com/forumimages/c-preview.jpg"><img src="http://www.finereport.com/forumimages/c-preview.jpg" alt="" /></a></p>
<p>注意：程序数据集中的代码在配置时需要改动相应的url，如图所示：<br />
<a title="http://www.finereport.com/forumimages/c-notice1.jpg" href="http://www.finereport.com/forumimages/c-notice1.jpg"><img src="http://www.finereport.com/forumimages/c-notice1.jpg" alt="" /></a><br />
此驱动和Url对应服务器|自定义数据连接 中的driverName 和 URL<br />
<a title="http://www.finereport.com/forumimages/c-notice2.jpg" href="http://www.finereport.com/forumimages/c-notice2.jpg"><img src="http://www.finereport.com/forumimages/c-notice2.jpg" alt="" /></a></li>
</ul>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1667/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web报表FineReport通过权限控制数据访问方案</title>
		<link>http://reportblog.cn/archives/1472</link>
		<comments>http://reportblog.cn/archives/1472#comments</comments>
		<pubDate>Mon, 21 Nov 2011 02:26:40 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[Web报表]]></category>
		<category><![CDATA[控制数据访问]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1472</guid>
		<description><![CDATA[问题：实际应用环境中，不同角色的人可能对数据具有不同的访问权限，通过直接在SQL语句中筛选出需要的数据制作模板可以解决该需求，但对于角色较多的情况，就需要制作很多张样式相同只是数据集不同的报表，不利于后期的维护并且加大了报表制作的工作量。 方案：针对该问题，在Web报表FineReport中，可以利用SQL参数配合参数处理器再结合权限以完成该需求。使用该方案只需要制作一张表样，利用SQL中的参数进行动态过滤达到该目的。下面具体描述该方案的实施过程。 第一步：数据准备 这里使用的是DEMO数据，主要为了演示该方案的操作，具体使用的时候需要根据具体的数据情况进行调整： 表：datas ID DATA ROLE 1 100 0 2 200 0 3 300 0 4 400 1 5 500 1 6 600 2 7 700 2 8 800 3 ID：编号 DATA：数据 ROLE：可查看角色编码 表：roles ID ROLENANME ROLE 1 总裁 0 2 总经理 1 3 部门经理 2 4 销售人员 3 第二步：制作模板 2.1 新建一张模板，报表数据集中新建一个“数据库查询数据集”，名称为：datas，SQL语句写成“select * [...]]]></description>
			<content:encoded><![CDATA[<p><strong>问题</strong>：实际应用环境中，不同角色的人可能对数据具有不同的访问权限，通过直接在SQL语句中筛选出需要的数据制作模板可以解决该需求，但对于角色较多的情况，就需要制作很多张样式相同只是数据集不同的<a title="报表" href="http://www.finereport.com/">报表</a>，不利于后期的维护并且加大了<a title="报表制作" href="http://www.finereport.com/knowledge/professional/webreport.html">报表制作</a>的工作量。<br />
<strong>方案</strong>：针对该问题，在<a title="web报表" href="http://www.finereport.com/knowledge/professional/webreport.html">Web报表</a>FineReport中，可以利用SQL参数配合参数处理器再结合权限以完成该需求。使用该方案只需要制作一张表样，利用SQL中的参数进行动态过滤达到该目的。下面具体描述该方案的实施过程。<span id="more-1472"></span></p>
<p><strong>第一步：数据准备</strong><br />
这里使用的是DEMO数据，主要为了演示该方案的操作，具体使用的时候需要根据具体的数据情况进行调整：<br />
表：datas</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="197">ID</td>
<td valign="top" width="197">DATA</td>
<td valign="top" width="197">ROLE</td>
</tr>
<tr>
<td valign="top" width="197">1</td>
<td valign="top" width="197">100</td>
<td valign="top" width="197">0</td>
</tr>
<tr>
<td valign="top" width="197">2</td>
<td valign="top" width="197">200</td>
<td valign="top" width="197">0</td>
</tr>
<tr>
<td valign="top" width="197">3</td>
<td valign="top" width="197">300</td>
<td valign="top" width="197">0</td>
</tr>
<tr>
<td valign="top" width="197">4</td>
<td valign="top" width="197">400</td>
<td valign="top" width="197">1</td>
</tr>
<tr>
<td valign="top" width="197">5</td>
<td valign="top" width="197">500</td>
<td valign="top" width="197">1</td>
</tr>
<tr>
<td valign="top" width="197">6</td>
<td valign="top" width="197">600</td>
<td valign="top" width="197">2</td>
</tr>
<tr>
<td valign="top" width="197">7</td>
<td valign="top" width="197">700</td>
<td valign="top" width="197">2</td>
</tr>
<tr>
<td valign="top" width="197">8</td>
<td valign="top" width="197">800</td>
<td valign="top" width="197">3</td>
</tr>
</tbody>
</table>
<p>ID：编号<br />
DATA：数据<br />
ROLE：可查看角色编码</p>
<p>表：roles</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="197">ID</td>
<td valign="top" width="197">ROLENANME</td>
<td valign="top" width="197">ROLE</td>
</tr>
<tr>
<td valign="top" width="197">1</td>
<td valign="top" width="197">总裁</td>
<td valign="top" width="197">0</td>
</tr>
<tr>
<td valign="top" width="197">2</td>
<td valign="top" width="197">总经理</td>
<td valign="top" width="197">1</td>
</tr>
<tr>
<td valign="top" width="197">3</td>
<td valign="top" width="197">部门经理</td>
<td valign="top" width="197">2</td>
</tr>
<tr>
<td valign="top" width="197">4</td>
<td valign="top" width="197">销售人员</td>
<td valign="top" width="197">3</td>
</tr>
</tbody>
</table>
<p><strong>第二步：制作模板</strong><br />
2.1 新建一张模板，<a title="报表" href="http://www.finereport.com">报表</a>数据集中新建一个“数据库查询数据集”，名称为：datas，SQL语句写成“select * from datas where ROLE&gt;=[?ROLE?]”<br />
2.2 拖拽新建的<a title="报表" href="http://www.finereport.com/">报表</a>数据集datas的数据列至<a title="报表" href="http://www.finereport.com/">报表</a>中，如下图所示：<br />
<a title="http://www.finereport.com/forumimages/tgqxkzsjfw1.jpg" href="http://www.finereport.com/forumimages/tgqxkzsjfw1.jpg"><img class="alignnone" src="http://www.finereport.com/forumimages/tgqxkzsjfw1.jpg" alt="" width="693" height="212" /></a><br />
2.3 新建一个服务器数据字典，用于进行角色名称与角色编码的转换，因为这里是演示用，就直接将数据写死了，使用自定义的服务器数据字典，用户可以根据具体的情况使用数据库查询数据字典来定义，关键点是要将“角色名”设置为key，“角色编码”设置为value。因为在应用的过程中，一个用户的角色是通过角色名来定义的，而对数据的访问控制是通过角色编码来控制的，这里需要一个值转换的过程。如果角色名与角色编码一致则可以不经过下列步骤的设置。<br />
数据字典的名称为:roles_map</p>
<p><a title="http://www.finereport.com/forumimages/tgqxkzsjfw2.jpg" href="http://www.finereport.com/forumimages/tgqxkzsjfw2.jpg"><img class="alignnone" src="http://www.finereport.com/forumimages/tgqxkzsjfw2.jpg" alt="" width="780" height="220" /></a></p>
<p>2.4 设置参数处理器，选择菜单中的“<a title="报表" href="http://www.finereport.com/">报表</a>”-“参数处理器”，定义先前SQL语句中定义的参数“ROLE”的参数处理器，这里采用公式类型，用于将角色名处理为角色编码，公式为：“MAP($ROLE,”roles_map”)”如下图所示：</p>
<p><a title="http://www.finereport.com/forumimages/tgqxkzsjfw3.jpg" href="http://www.finereport.com/forumimages/tgqxkzsjfw3.jpg"><img class="alignnone" src="http://www.finereport.com/forumimages/tgqxkzsjfw3.jpg" alt="" width="400" height="360" /></a><br />
2.5 保存模板文件即可。<br />
2.6 用户在集成应用的时候，需要在系统登录后设置当前登录的用户的角色，或者使用FineReport自带的权限管理系统。如果采用FineReport自带的权限管理系统，上述SQL语句中的ROLE参数可使用FR_ROLE_NAME来替代，该参数是FineReport权限系统中的默认登录角色参数名。具体登录角色设置方式请参见FineReport权限集成帮助文档或咨询FineReport服务人员。</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1472/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下如何配置FineReport报表工程</title>
		<link>http://reportblog.cn/archives/1442</link>
		<comments>http://reportblog.cn/archives/1442#comments</comments>
		<pubDate>Thu, 10 Nov 2011 09:21:58 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[报表工程]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1442</guid>
		<description><![CDATA[电脑操作系统：linux 服务器：resin 报表工程应用：FineReport 操作步棸： 一：安装jdk 二：安装服务器，以resin为例 三：配置报表工程 一：安装jdk 1.首先在相关官网上下载jdk 例如jdk1.6,名称为jdk-6u2-linux-i586-rpm.bin 2.通过ftp上传jdk-6u2-linux-i586-rpm.bin 3. 通过命令给所有的用户添加可执行的权限 chmod a+x jdk-6u2-linux-i586-rpm.bin a：All，即全部的用户，包含拥有者，所属群组以及其他用户 x：执行或切换权限，数字代号为”1&#8243;。 4. ./jdk-6u2-linux-i586-rpm.bin 会生成文件jdk-6u2-linux-i586-rpm 同样给所有的用户添加可执行权 安装程序 rpm -ivh jdk-6u2-linux-i586-rpm 接受协议，按enter即可 5. 最后设置path与classpath export JAVA_HOME=/usr/java/jdk1.6.0_02 6.执行命令java –version 如果出现java version “1.6.0_02&#8243;表示安装成功 二．安装resin服务器 准备工作：在resin官网下载linux环境下的resin安装文件 1） 安装 JDK 上一步已经执行 2） 确定环境变量JAVA_HOME设置正确 上一步已经执行 3） 安装 单独运行： # tar zxvf resin-3.0.4.tar.gz # mv resin03.0.6 [...]]]></description>
			<content:encoded><![CDATA[<p>电脑操作系统：linux<br />
服务器：resin<br />
<a title="报表工程" href="http://www.finereport.com/web-reportingtool">报表工程</a>应用：FineReport<br />
操作步棸：<br />
一：安装jdk<br />
二：安装服务器，以resin为例<br />
三：配置报表工程<span id="more-1442"></span></p>
<p>一：安装jdk<br />
1.首先在相关官网上下载jdk 例如jdk1.6,名称为jdk-6u2-linux-i586-rpm.bin<br />
2.通过ftp上传jdk-6u2-linux-i586-rpm.bin<br />
3. 通过命令给所有的用户添加可执行的权限<br />
chmod a+x jdk-6u2-linux-i586-rpm.bin<br />
a：All，即全部的用户，包含拥有者，所属群组以及其他用户<br />
x：执行或切换权限，数字代号为”1&#8243;。<br />
4. ./jdk-6u2-linux-i586-rpm.bin<br />
会生成文件jdk-6u2-linux-i586-rpm<br />
同样给所有的用户添加可执行权<br />
安装程序 rpm -ivh jdk-6u2-linux-i586-rpm<br />
接受协议，按enter即可<br />
5. 最后设置path与classpath<br />
export JAVA_HOME=/usr/java/jdk1.6.0_02<br />
6.执行命令java –version<br />
如果出现java version “1.6.0_02&#8243;表示安装成功</p>
<p>二．安装resin服务器<br />
准备工作：在resin官网下载linux环境下的resin安装文件<br />
1） 安装 JDK 上一步已经执行<br />
2） 确定环境变量JAVA_HOME设置正确 上一步已经执行<br />
3） 安装<br />
单独运行：<br />
# tar zxvf resin-3.0.4.tar.gz<br />
# mv resin03.0.6 /usr/local/resin<br />
#cd /usr/local/resin<br />
# ./configure<br />
# make<br />
# make install<br />
#cd bin<br />
#./httpd.sh start<br />
三.配置finereport报表工程<br />
安装好resin服务器后<br />
•把FineReport<a title="报表安装" href="http://www.finereport.com/knowledge/install">报表安装</a>目录下的WebReport文件夹打包成zip 上传到ftp<br />
•在linux下通过访问ftp<br />
Cd到resin目录下的webapps文件夹<br />
ftp  ip地址<br />
转到zip包所在目录<br />
get WebReport.zip 到当前目录下<br />
exit 退出ftp<br />
在webapps文件夹下<br />
unzip WebReport.zip 把WebReport解压到webapps文件夹下<br />
•启动resin服务器<br />
Cd到resin的bin文件夹<br />
./httpd.sh<br />
输入<a title="http://localhost:8080" href="http://localhost:8080">http://localhost:8080</a> 测试服务器是否启动成功<br />
出现resin的欢迎界面说明启动成功<br />
输入<a title="http://localhost:8080/WebReport/ReportServer?op=test" href="http://localhost:8080/WebReport/ReportServer?op=test">http://localhost:8080/WebReport/ReportServer?op=test</a> 测试finereport报表环境是否配置成功如出现<a title="报表界面" href="http://www.finereport.com/web-reportingtool">报表界面</a>则配置成功</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1442/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FineReport关于Linux操作系统下字体乱码终极解决方案</title>
		<link>http://reportblog.cn/archives/1436</link>
		<comments>http://reportblog.cn/archives/1436#comments</comments>
		<pubDate>Thu, 10 Nov 2011 02:01:02 +0000</pubDate>
		<dc:creator>FineReport——web报表技术领跑者</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>
		<category><![CDATA[finereport报表]]></category>
		<category><![CDATA[Linux操作系统]]></category>
		<category><![CDATA[字体乱码]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1436</guid>
		<description><![CDATA[1：在windows下找到系统使用到的字体，这里以楷体举例 ·到c盘的 windows文件夹的 Fonts文件夹里面存放了windows操作系统中用到的所有字体，具体路径C:\WINDOWS\Fonts ·找到楷体字体SIMKAI.TTF 2：将楷体字体拷贝到Linux操作系统软件下JRE下的\lib\fonts文件夹 ·注意这个JRE必须是服务器用到的JDK下的JRE 例如服务器为tomcat 使用的 jdk是usr下 /java/jdk1.5.0_13 登陆到Linux操作系统软件 Cd到usr/java/jdk1.5.0_13/jre/lib/fonts ·登陆到ftp 将之前准备好的楷体拷贝到当前目录下 ftp id 转到字体所在位置 get SIMKAL.TTF 到当前目录下 exit 退出ftp工具就可以了 3：重启服务器 解决功能强大的操作系统Linux下字体乱码问题 Web报表主题相关文章： IIS集成配置 Jboss 服务器 JNDI 配置数据源连接数据库 Oracle 数据库实现自增长列 Weblogic 10.1 配置JNDI 数据源 Sql server 2000 连接测试]]></description>
			<content:encoded><![CDATA[<p>1：在windows下找到系统使用到的字体，这里以楷体举例</p>
<p>·到c盘的 windows文件夹的 Fonts文件夹里面存放了<span style="text-decoration: underline">windows</span><span style="text-decoration: underline">操作系统</span>中用到的所有字体，具体路径C:\WINDOWS\Fonts</p>
<p>·找到楷体字体SIMKAI.TTF</p>
<p><a title="报表字体" href="http://www.finereport.com/forumimages/font.png" target="_blank"><img class="alignnone" src="http://www.finereport.com/forumimages/font.png" alt="" width="84" height="81" /></a><span id="more-1436"></span></p>
<p>2：将楷体字体拷贝到<span style="text-decoration: underline">Linux</span><span style="text-decoration: underline">操作系统软件</span>下JRE下的\lib\fonts文件夹</p>
<p>·注意这个JRE必须是服务器用到的JDK下的JRE</p>
<p>例如服务器为tomcat</p>
<p>使用的 jdk是usr下 /java/jdk1.5.0_13</p>
<p>登陆到<span style="text-decoration: underline">Linux</span><span style="text-decoration: underline">操作系统软件</span></p>
<p>Cd到usr/java/jdk1.5.0_13/jre/lib/fonts</p>
<p>·登陆到ftp 将之前准备好的楷体拷贝到当前目录下</p>
<p>ftp id</p>
<p>转到字体所在位置</p>
<p>get SIMKAL.TTF 到当前目录下</p>
<p>exit 退出ftp工具就可以了</p>
<p>3：重启服务器 解决<span style="text-decoration: underline">功能强大的操作系统</span><span style="text-decoration: underline">Linux</span>下字体乱码问题</p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1436/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web报表工具中的新值属性</title>
		<link>http://reportblog.cn/archives/1406</link>
		<comments>http://reportblog.cn/archives/1406#comments</comments>
		<pubDate>Wed, 19 Oct 2011 06:02:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web报表工具-技术园地]]></category>

		<guid isPermaLink="false">http://reportblog.cn/?p=1406</guid>
		<description><![CDATA[在报表条件属性中可以根据某个条件，使单元格显示新的值，如班级中学生成绩小于60时就显示为“不及格”，当然这个改变的是该单元格的显示值，其实际的值认为分数值。 在web报表工具中具体设置如下： http://www.finereport.com/forumimages/e427.png 其实，新值中也可以使用公式，如上述情况也可以直接利用报表工具在新值中使用if公式实现 http://www.finereport.com/forumimages/e429.png 输入公式：if($$$&#60;60,”不及格”,$$$) 该公式表示若当前值小于60，则单元格显示为“不及格”，否则仍显示当前数值。 http://www.finereport.com/forumimages/e431.png Web报表主题相关文章： IIS集成配置 Jboss 服务器 JNDI 配置数据源连接数据库 Oracle 数据库实现自增长列 Weblogic 10.1 配置JNDI 数据源 Sql server 2000 连接测试]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://www.finereport.com/products/functions">报表</a>条件属性中可以根据某个条件，使单元格显示新的值，如班级中学生成绩小于60时就显示为“不及格”，当然这个改变的是该单元格的显示值，其实际的值认为分数值。<span id="more-1406"></span></p>
<p>在<a href="http://www.finereport.com/web-reportingtool">web报表工具</a>中具体设置如下：</p>
<p><img class="alignnone" title="http://www.finereport.com/forumimages/e427.png" src="http://www.finereport.com/forumimages/e427.png" alt="" width="692" height="390" /></p>
<p><a href="http://www.finereport.com/forumimages/e427.png">http://www.finereport.com/forumimages/e427.png</a></p>
<p>其实，新值中也可以使用公式，如上述情况也可以直接利用<a href="http://www.finereport.com/knowledge">报表工具</a>在新值中使用if公式实现</p>
<p><img class="alignnone" title="http://www.finereport.com/forumimages/e429.png" src="http://www.finereport.com/forumimages/e429.png" alt="" width="690" height="305" /></p>
<p><a href="http://www.finereport.com/forumimages/e429.png">http://www.finereport.com/forumimages/e429.png</a></p>
<p>输入公式：<strong><em>if($$$&lt;60,”</em></strong><strong><em>不及格”,$$$)</em></strong></p>
<p>该公式表示若当前值小于60，则单元格显示为“不及格”，否则仍显示当前数值。</p>
<p><img class="alignnone" title="http://www.finereport.com/forumimages/e431.png" src="http://www.finereport.com/forumimages/e431.png" alt="" width="692" height="389" /></p>
<p><a href="http://www.finereport.com/forumimages/e431.png">http://www.finereport.com/forumimages/e431.png</a></p>

<p><strong>Web报表主题相关文章：</strong></p>
<ul>
<li><a href="http://reportblog.cn/archives/1700">IIS集成配置</a></li>
<li><a href="http://reportblog.cn/archives/1697">Jboss 服务器 JNDI 配置数据源连接数据库</a></li>
<li><a href="http://reportblog.cn/archives/1694">Oracle 数据库实现自增长列</a></li>
<li><a href="http://reportblog.cn/archives/1689">Weblogic 10.1 配置JNDI 数据源</a></li>
<li><a href="http://reportblog.cn/archives/1685">Sql server 2000 连接测试</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://reportblog.cn/archives/1406/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

