当前位置:文档之家› WAS 5.x中数据源的配置使用及其常见问题 - 数据源

WAS 5.x中数据源的配置使用及其常见问题 - 数据源

WAS 5.x中数据源的配置使用及其常见问题 - 数据源
WAS 5.x中数据源的配置使用及其常见问题 - 数据源

WAS 5.x中数据源的配置使用及其常见问题 - 数据源

本文将介绍WAS 5.x版本中数据源的配置和使用方法,并结合实际客户遇到的常见问题进行一些讨论,以使更多用户能在WAS上顺利的配置和使用数据源。1.简单原理和背景介绍

1.1 什么是数据源?为什么要使用数据源?

我们先来看一下使用JDBC1.0的时候,一般是怎样来连接数据库的。

代码片断示例1:

java.sql.Connection con = null; try { Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); con = java.sql.DriverManager.getConnection("jdbc:db2:DBName"); } catch (Exception e) { System.err.println("Exception: " + e.getMessage()); } 由于建立一个数据库连接是一种比较耗时的操作,在使用JDBC1.0的时候,如果要提高性能就需要应用程序自己对连接进行缓存处理。但是在JDBC2.0 以一个附加的 API 的方式引入了标准连接池的特性,这个附加的 API 叫做 JDBC 2.0 可选包(也称作 JDBC 2.0 标准扩展)。这样对于支持JDBC2.0的数据库(一般是指JDBC驱动程序支持),WebSphere应用服务器提供了连接池的支持。JDBC2.0 API 为连接池提供了一个客户端和一个服务器端的接口。客户端接口是javax.sql.DataSource,通常就是应用代码用来请求一个缓冲了的数据库连接的东西。这个数据源就是生成数据库连接对象的工厂。服务器接口是javax.sql.ConnectionPoolDataSource,通常是大多数应用服务器和数据库JDBC驱动打交道的接口。

连接池可改进任何需要连接的应用程序(特别是基于 Web 的应用程序,Web 用户的连接和断开更为频繁)的响应时间。因为连接池的实现,在客户端调用 close ()方法的时候实际上并不关闭连接,而是把连接返回到一个可重用连接的连接池中给其它客户端使用。这样就避免了任何重复打开和关闭数据库连接造成的开销,并且允许大量的客户端分享相对较少的数据库连接,从而提高数据库操作的性能。为了使用应用服务器提供的连接池功能,我们需要先定义相应的数据源。数据源在WebSphere应用服务器中作为资源存在,因此可以统一通过JNDI来查询它们。

使用数据源的代码片断示例2:

try{ javax.naming.InitialContext ctx = new javax.naming.InitialContext(); javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/DSName"); java.sql.Connection con = ds.getConnection(); }catch(javax.naming.NamingException e1){ System.err.println("Naming-Exception: " + e1.getMessage()); }catch (java.sql.SQLException e2) { System.err.println("Naming-Exception: " + e2.getMessage()); }

//装载JDBC驱动程序java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //设置数据库连接字符串https://www.doczj.com/doc/dc12758269.html,ng.String strConn =

"jdbc:oracle:thin:@hostname/IP:1521:SIDName"; //连接数据库java.sql.Connection sqlConn = java.sql.DriverManager.getConnection(strConn,"userName","passWord"); 这种方式需要把数据库的用户名和口令放在程序的源代码中。而在WebSphere 应用服务器中我们可以在定义数据源的时候通过J2C认证的方式配置数据库访问别名,从而提升安全性。另外,这种方法也更灵活,如果数据库用户名或口令发生变化不需要更改应用程序代码。

1.2 WebSphere应用服务器中数据源所处的位置

很多人在刚开始配置WebSphere应用服务器数据源时对J2C认证别名很不习惯,觉得JDBC的东西怎么会与J2C扯上关系。我们知道基于J2EE的WEB应用在与后台EIS(企业信息系统)集成的过程中,根据EIS的不同主要有三种连接方式,分别是JDBC,JCA/J2C和JMS。从理论上讲,JDBC驱动程序是可能归纳成一种特殊的JCA连接器,只不过这个连接器后面恰好连接着关系型数据库。至于实际标准如何发展,让我们拭目以待。下面我们看一下WebSphere应用服务器中数据库连接及持久性管理的示意图。

2.如何在WebSphere应用服务器中配置数据源我们首先概要的看一下在WebSphere应用服务器中配置和使用数据源所涉及的几个环节。一般的,配置数据源的基本步骤如下:

首先要确认所用的数据库是支持JDBC2.0的,并确保我们的操作系统环境设置为支持 JDBC 2.0。这是使用 WebSphere应用服务器创建的数据源所必需的。这一点在使用UDB DB2 7.2的时候尤其要注意。

要确定使用哪个数据源:数据源V4.0还是 V5.0 数据源。数据源V4.0是使用WebSphere 旧连接管理器体系结构的 WebSphere 4.x 中的数据源,所有的EJB1.x 模块都必须使用此数据源。 WebSphere应用服务器5.x提供对 V4.0 的JDBC 连接管理器模型的支持,使得 J2EE 1.2 应用程序能够不经改变地运行。WAS 5.x 也支持J2EE 1.3的应用, J2EE 1.3 应用程序内的 EJB 2.0 模块,WEB 2.3模块需要使用 V5.0的JDBC 连接管理器。

创建 JDBC 提供程序。JDBC提供程序指的是JDBC驱动程序的类型及其相应的驱动程序实现JAVA包。

创建数据源。数据源是在提供特定 JDBC 驱动程序实现类的 JDBC 提供程序下创建的。

绑定资源引用。J2EE 1.3标准推荐使用数据源的引用而不是直接使用数据源的名称。

测试连接。WebSphere应用服务器5.0.x及5.1提供了数据源配置页面上提供了测试数据源连接的测试按钮。

接下来,我们对数据源配置中的最为重要的两步,即创建 JDBC提供程序时的配置步骤和创建数据源时的配置过程进行详细描述。 2.1 配置JDBC提供程序如果是第一次配置数据源连接,需要配置JDBC提供程序。配置JDBC提供程序的步骤如下:登录WAS管理控制台页面,单击资源 -> JDBC 提供程序 -> 选择相应的作用域 -> 新建 -> 选择相应的JDBC提供程序类型。 2.1.1 选择JDBC提供程序的作用域指定JDBC提供程序的作用域,如下图所示。

的设置取决于实际WebSphere应用服务器的拓扑结构。一般有以下三种作用域:单元

最常规的作用域。在“单元”作用域上定义的资源对于所有节点和服务器都是可

见的,除非它们被覆盖了。要查看单元作用域中定义的资源,不要在作用域选择表单中指定服务器或节点名。

节点

多数资源类型的缺省作用域。在“节点”作用域上定义的资源覆盖任何在“单元”作用域上定义的重复项,并且对于相同节点上的所有服务器都是可见的,除非它们在该节点上的服务器作用域中被覆盖了。要查看节点作用域中定义的资源,不要指定服务器,但是要在作用域选择表单中选择节点名。

服务器

定义资源的最特定作用域。在“服务器”作用域上定义的资源覆盖任何在“单元”作用域或父“节点”作用域上定义的重复资源定义,并且它们仅对于特定服务器是可见的。要查看服务器作用域中定义的资源,在作用域选择表单中指定服务器名和节点名。

以看出上面三个作用域的范围逐渐递减,并且同名的资源以最小范围的为准。这个有点类似编程语言中变量的作用域。根据上面作用域的范围的描述,在单节点的情况下,一般选用“节点”。如果只有一个应用服务器实例也可以选择“服务器”。在多个节点构成的单元中,可以分别在每个节点上分别定义,也可以选择“单元”作用域一次性定义。

2.1.2 选择JDBC提供程序

使用下拉列表选择要创建的 JDBC 提供程序类型,如下图所示。

如果支持的 JDBC 提供程序类型列表不包含我们要使用的 JDBC 提供程序,则选择用户定义的 JDBC 提供程序(User-defined JDBC Provider)。如果数据源需要两阶段提交(2PC)的支持,那么在选择JDBC驱动程序时需要选择带XA支持的驱动程序。请查询 JDBC 提供程序供应商文档以获取特定的必需属性信息。2.1.3 JDBC提供程序的属性 JDBC提供程序的常规属性页如下图所示:

这个页面中最为重要的设置是类路径。它是指定共同组成资源提供程序类的位置路径或 JAR 文件名的列表,也即JDBC驱动程序类包。大部分常见数据库的JDBC 驱动程序都以jar文件或zip文件的形式提供。例如 DB2 7.2的JDBC驱动程序文件名为db2java.zip,Oracle 8.1.7的JDBC驱动程序文件名为classes12.zip,Sybase 12的JDBC驱动程序文件名为jconn2.jar等。在WebSphere应用服务器5.1中,类路径的缺省值反映了相应数据库更新的JDBC驱动程序,例如Oracle 9i 的ojdbc14.jar。类路径缺省值中还带有一个相应的WebSphere变量,我们可以用绝对路径替换或定义此WebSphere变量的值。

实现类名指定 JDBC 驱动程序实现的 Java 类名。此类可用于上面的“类路径”描述中提到的驱动程序文件,例如 COM.ibm.db2.jdbc.DB2XADataSource。一般不需要手工填入,采用缺省值即可。但是如果前面JDBC提供程序类型选了User-defined JDBC Provider的话就需要自己修改这个值。

修改完这些属性之后按确定并保存就完成了JDBC提供程序的配置。这样我们就可以在JDBC提供程序的列表中找到我们定义的JDBC提供程序(注意选择正确的作用域并点击应用按钮)。

2.2 配置数据源

创建 JDBC 提供程序后,我们就可以创建数据源以访问后端数据存储。创建新的V 5.0 数据源的步骤基本如下:

打开WAS5.x管理控制台。

单击资源 -> JDBC 提供程序。

选择相应的作用域选项以找要为其创建数据源的 JDBC 提供程序。

选择我们要创建数据源的 JDBC 资源提供程序,会出现此提供程序的详细信息页面。

如果我们要创建 V5.0 数据源,则单击“其它特性”中的数据源。

单击新建以显示数据源的配置页面,如下图所示。

这个页面中的几个重要的设置如下。名称:指定当前数据源的显示名称。 JNDI 名:指定当前数据源的JNDI名称。其缺省值为“jdbc/显示名称”。容器受管持久性:指定此数据源是否用于企业 bean 的容器管理的持久性。如果选择此复选框,则为关系资源适配器创建与此数据源相应的 CMP 连接器工厂。一般的,如果应用程序中有CMP,则需要选上此项。CMP容器生成的JNDI名称为eis/数据源名称_CMP,这个值在发布含有CMP的应用时绑定使用。语句高速缓存大小:每个连接的空闲已准备语句(PreparedStatement)数,也即已准备语句缓存的数目,用以提供性能。如果我们将此数设置得过高,我们会缺乏资源,因为系统无法打开那么多已准备语句。一般采用缺省值即可。组件受管认证别名:此别名用于运行时的数据库认证。如果我们的应用程序资源认证(res-auth)设置为应用程序,则在“组件管理的认证别名”中设置别名。容器受管的认证别名:此别名用于运行时的数据库认证。如果我们的应用程序资源认证(res-auth)设置为容器,则设置“容器管理的认证别名”。 WAS5的数据源用J2C的安全认证方式,故一般不需要在应用级别设置用户名和口令,而必须定义一个J2C的认证别名。如果我们的数据库(例如 Cloudscape)不支持用户标识和密码,则不要在“组件管理的认证别名”或“容器管理的认证别名”字段中设置别名。如果没有事先定义好J2C认证别名(通过管理控制台的安全性 -> JAAS配置 -> J2C 认证数据),上面的两个下拉列表中是没有相应的J2C认证别名的。可以通过点击应用按钮,在数据源属性页面的最下面出现“相关项”,如下图所示。

再点击J2C认证数据条目链接,然后点击新建按钮就可以进入到定义它的页面,如下图所示。

上述页面中的别名就是标识这个J2C认证数据条目的,也即出现在数据源定义页中容器受管的认证别名和组建受管认证别名列表中的名字。用户名和密码对应目标数据库的用户名和密码。点击确定并保存。

· 现在通过点击相应JDBC提供程序的数据源链接,可以看到前面定义的数据源。进入数据源的配置页面,在相应的认证别名的列表中选择刚才定义的认证别名。

· 选择其它属性栏目中的定制属性进入数据源的定制属性页。这个页面中要定义的属性与所选数据库类型有关。一般的,对于DB2数据库,必须的属性是databaseName,即所对应数据库名字。对于Oracle数据库,必须的属性是URL,如jdbc:oracle:thin:@localhost:1521:sample。修改完定制属性之后,点击确定并保存修改。

· 我们已定义和保存数据源之后,可以单击测试连接按钮以确保此数据源定义中的参数是正确的。在数据源列表页上,我们可以同时选择多个数据源并测试它们。一般配置完数据源之后不需要重新启动服务器,就可以测试成功。但是注意如果我们添加新的 WebSphere 环境变量或修改它,必须重新启动进程(网络部署环境下还要重启Node Agent 和 Deployment Manager)使这些变量生效。· 至此,数据源的基本配置就完成了。但是在很多情况下我们还要对连接池的属性进行调整。通过点击数据源配置页面中其它属性的连接池链接,可以得到连

接池的配置页面,如下图所示。

这个配置页面的几个重要属性说明如下:

连接超时:这个值指定当连接池达到给定连接池的最大值(最大连接数)时所等待的时间。当超过这个时间还是没有空闲连接时,连接请求超时并抛出ConnectionWaitTimeoutException。如果连接超时设置为 0,则只要必需,池管理器就会等待直到分配一个连接为止(这在连接数下降到最大连接数值以下时发生)。

最大连接数和最小连接数:这两个参数分别指定可以在此池中创建的最大物理连接数和最小物理连接数。应用服务器启动的时候,连接池并不建立连接。只有当应用程序请求数据库连接时,连接池才开始建立连接。当连接池中的连接数达到最小连接数之后,此后根据实际应用程序对数据库连接的需求,连接池中的连接数就保持在最小连接数和最大连接数之间。可以根据应用程序对数据库连接的要求调整这两个参数。

不使用超时:这个参数指定一个空闲连接在连接池中能够存活的最大时间。因为在连接池中保持连接会消耗系统资源,因此超过最小连接数的空闲连接会被定时清除。不使用超时设为0时就不清除空闲连接。

获得时间:连接池中的连接由一个定时运行的线程进行维护。这个参数就是指定运行连接池维护线程之间的间隔。例如,如果“获得时间”设置为 60,则池维护线程每 60 秒运行一次。当池维护线程运行时,它废弃所有未使用的连接(未使用时间长于“不使用超时”中指定的时间值),直到它到达最小连接数中指定的连接数。池维护线程还废弃所有活动时间长于“时效超时”中指定的时间值的连接。获得时间间隔还影响性能,因为更短的间隔意味着池维护线程将更频繁的运行并降低性能。要禁用池维持线程,“获得时间”设置为 0,或“不使用超时”和“时效超时”都设置为 0。

时效超时:这个参数指应用在获得连接之后而不使用它的最大空闲时间。超过大概两倍时效超时,这个空闲连接将被强行放回到连接池(注:这个工作也是由连接池维护线程来做的,因为整个过程要等待两个时效超时,因此总超时时间大概是时效超时的两倍)。如果在放回到连接池之后,应用再去使用这个连接就会报StaleConnectionException异常。这个参数对事务处理中的连接不生效。时效超时设为0时这个参数就不生效。这里有一点要注意,虽然WebSphere应用服务器可以通过设置这个参数可以回收应用程序中忘记释放的数据库连接,但是在大并发量用户访问的时候还是会导致数据库连接不够用的异常。因此,尽量保证应用程序中使用完数据库连接之后及时放回到连接池中去。

上面三个参数之间是有一定联系的。不使用超时和时效超时都是由连接池维护线程来进行维护和判断的,因此真正的超时生效时间有时要比设定的大,理论上最大值为不使用超时或时效超时再加上获得时间。另外,应该将“获得时间”值设置为小于“不使用超时”和“时效超时”的值,否则后两个参数的意义就打折扣了。

birt报表技巧

Birt中的分页显示报表: 方法如下: 1、将鼠标停在表格上,选择明细数据行(Row Detail) 。 2、选择脚本(script)标签,在onPrepare方法中加入: count=0; 在onCreate方法中加入: count++; if(count % 10==0) { this.getStyle().pageBreakAfter="always"; } 然后放到服务器上运行,则实现分页显示。 Birt中报表参数的用法(一) Birt中有两种参数,一种是数据集参数,一种是报表参数。数据集参数一般是用于select语句中的?所代表的参数的。而报表参数一直则是整个报表的参数,定义它的目的一方面是和数据集参数绑定,一方面是在脚本中使用它。例如:我想设计一个报表,通过参数传递一个数据库中的表名,显示相应表中的数据,所有的表的结构一样!做法如下: 先定义数据源;然后定义数据集,查询选项中的语句写select * from [要传入的表名中的任意一个];然后定义一个报表参数table,设置一个默认值(默认表名);然后再数据集的脚本的beforeOpen方法中加入:this.queryText="select * from "+params["table"]; ;完成。 如何在Tomcat中配置使得能显示Birt Chart报表: 今天看了一本关于Birt方面的书,提到了在Tomcat中成功部署Birt的方法。我试了一下,果然可以,即可访问普通报表,又可访问chart报表,而且方法也比较简单。现介绍如下: 1、从网上下载birt-runtime-version.zip并解压 (https://www.doczj.com/doc/dc12758269.html,/birt/downloads/build.php?build=R-R1-2_1_3-200707051847)。 2、将解压后根目录中的WebViewerExample文件加复制到Tomcat根目录下的webapps 下面,并更名为birt_viewer2.2(因为我下的是2.2版本) 3、复制第三方软件:iText.jar(复制到 birt_viewer2.2\WEB-INF\platform\plugins\com.lowagie.itext_1.5.2.v20070626\lib 下)

配置sql server ODBC 数据源

配置sql server ODBC 数据源 1.配置sql server ODBC 数据源 在2003操作系统下配置sql server ODBC 数据源步骤,辅助调试 步骤: 1)第一步 控制面板下选择管理工具--- ODBC 数据源,双击图标单击添加 2)第二步 在系统DSN选项上,单击添加按钮,出现创建数据源对话框,选择SQL server 3)第三步

单击完成按钮,出现创建到sql serve 数据源。如图所示 输入数据源名称、数据源描述和SQL server 所在的服务器名称或者IP 地址。服务器名称也是sql server 所在的服务器名称,也可以是IP地址。单击下一步 4)第四步 选择登陆sql server 时的身份验证方式。并输入登陆sql server 时所用到的用户名和密码,如下图所示 用户名和密码是在sql 建立的。在sql server 数据库中选择安全性--->登陆如图所示

关键点:点击“客户端配置”,可以反复在“named pipes(P)”和“TCP/IP”调试 A、软件并不用ODBC作为数据源访问数据库,安装时有时会碰到网络版连接不上数据 库的情况,telnet指令测试成功! B、“TCP/IP(T)”数据源配置失败的情况下,可以在尝试“named pipes(P)”配置数据源, 基本可以故障解决。 故障原因:操作系统,在日常使用中,发生改动导致。 5)第五步 默认数据库是master,因测试连接,所以不用更改数据库。然后单击下一步

6)第六步 按默认设置,单击完成按钮。 7)第七步 这里给出了数据库连接的摘要信息,如果想测试一下是否能够连接到数据库,可以单击“测试数据源(T)”,会出现测试结果,如下图所示

birt教程之多层交叉汇总报表

birt教程之多层交叉汇总报表 1.1多层交叉汇总报表 1.1.1加入汇总 1.在3.8所建立的报表MultilayerCrosstab.rptdesign基础上,点击布局编辑器中Cross Tab左下角的“Cross Tab”图标选中本交叉表。在Property Editor属性编辑器中选择“Row Area”,(可参考图3-11)。 2.在左边的选项栏中选择第一个选项“Sub Totals”,点击编辑器右边的“Add”按钮,弹出加入次级汇总(本例即根据客户类型进行汇总)的窗口: 全部选择默认数据:点击“OK”完成创建。 3.在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入行汇总,同样,数据全选默认。点击“OK”完成创建。4.在属性编辑器Property Editor视图中选择“Column Area”,同样在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入列汇总,同样,数据全选默认。点击“OK”完成创建。 创建完毕后,布局编辑器如下图:

1.1.2格式化与预览 格式化后如下图: 预览结果如下:

同为比较常用的报表工具,FineReport对多层交叉汇总报表的解决方案和实现方法与BIRT有所不同,在finereport交叉汇总是利用层次坐标实现的,以一个简单示例为例,解释具体实现思路和步骤,供BIRT使用者借鉴: 1.问题描述 逐层累计与跨层累计都是纵方向上的累计,也可以横向进行累计,如下图各个销售员每个月订单金额的累计:

2.示例 2.1新建报表,设计表样 新建工作薄,添加数据集,SQL语句为select雇员ID,strftime('%m',订购日期)as月份,应付金额from订单where strftime('%Y',订购日期)= '2011',查询出2011年每个雇员,每月订单金额。 如下制作一张交叉表: 数据列设置如下: 单元格数据 集 数据列属性

新世纪大学英语综合教程第六册1-5单元课后习题答案

Unit 1 WORD 1)Only when we have weighed all the factors involved can we decide when would be the best time to take action. 2)The management invited the employees to voluntarily submit proposals for projects to improve work performance. 3)The new students were told that they must register with university before they could claim their grants. 4)The club,which claimed to have found a suspicious package that might contain bombs,was still sealed off following a security alert earlier this morning. 5)A crowd of people gathered round, outraged by the way the police officers were hitting the two men. 6)Extensive conversations with native speakers form an integral part of the English language course in our university. 7)In this chapter the author illustrate his marketing theory with lots of first-hand materials from his business career. 8)After each group finish their presentation,the rest of the class should critique their performance and vote for the best speaker. EXPRESSION 1)You don't need to dress up just to go to the pub--jeans and a T-shirt will do. 2)Could you type up the questions and answers from the press conference, please ?They are due to be carried in tomorrow's newspaper. 3)As the training progressed to the advanced level ,most of the students drifted away, while Melanie and several others stayed to the end. 4)A group of teenagers put on a musical play about wildlife protection, which attracted a large audience every time they appeared on the stage. 5)Economic recovery is already under way and business is becoming brisk again. 6)After lying in hospital for two weeks, Jenny was afraid that she had fallen behind with her school work. CLOZE Online teaching, a relatively recent instructional medium ,is becoming more and more popular. At the same time, however, it has brought a lot of challenges to teachers who are used to giving traditional lectures. First of all, there is the challenge of delivering the subject matter via computer in the same enthusiastic, humorous and easy-to-understand way as in a regular classroom. Secondly, the teacher needs to do hours of typing and illustrating to make the subject matter clear for online students. Thirdly, for online education, interaction--with the teacher and with other students--is a more integral element of learning than it is in the classroom. Therefore, it is critical for the students to feel the teacher is always there ready to answer questions, willing to help develop a sense of community built around the subject matter .Finally, some students need the discipline of the classroom to stay involve or else they will fall behind and drift away in an online class as the online class provide too much flexibility . How to keep those students is probably the greatest challenge to an online

注册表添加ODBC数据源

上个帖子说了如何通过管理工具手动配置ODBC数据源,今天我们来看下如何通过注册表来添加ODBC数据源。 首先我们先看下[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI]中注册表项 这里面包含我们已经设置过的数据源名称,点击sdu_lab看看里面是如何写的

这个格式不会写啊,肿么办呢?我们可以将注册表导出,然后进行修改 我们编辑导出的注册表内容,看看啥样的。虽然格式很清楚,还是加点注释好了。Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\sdulab] //数据源名称"Driver"="C:\\Program Files\\MySQL\\Connector ODBC 3.51\\myodbc3.dll" //驱动

"SERVER"="219.231.143.216" // 服务器 "UID"="xdt" //用户名 "PWD"="xdt" //密码(完全可见,想看密码的童鞋学下注册表吧)"DATABASE"="db_test" //数据库名称 "PORT"="3306" //数据库开放端口号,这个不用改 比方说,我们要添加一个名称为sdulab_test的数据源,那么我们应该这样写Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\sdulab_test] "Driver"="C:\\Program Files\\MySQL\\Connector ODBC 3.51\\myodbc3.dll" "SERVER"="219.231.143.216" "UID"="xdt" "PWD"="xdt" "DATABASE"="db_test" "PORT"="3306"

综合版ODBC配置方法

综合版ODBC数据源配置方法 支点洗浴管理软件在发布的时候秉承绿色软件的原则,我们给客户的只是一个文件夹,用户可以将软件拷贝到任何盘符的任何文件夹下,然后将玫瑰花图标的可执行文件创建一个快捷方式到桌面上就可以了,但是在运行程序之前,我们必需要求安装好数据库服务器,这个过程需要专业的工程师或者在我们的指导下完成,同时我们还要求配置ODBC连接,配置好ODBC以后我们就可以运行支点收银管理系统了,支点系统ODBC的名称是固定的,只能是“cash2000odbc”,下面介绍的就是支点收银管理系统ODBC的详细的配置方法: 1) 在电脑“控制面板”里面的“管理工具”中双击“数 据源(ODBC)”,在“系统DSN”标签中点击“添加”按 钮,要注意的是必需是“系统DSN”页面,如果已经存在 cash2000odbc的ODBC连接,就双击cash2000odbc进行配置 就可以了,如果是空的就点击添加按钮。

2) 点击添加后将出现如右画面选择SQL Server数据源(一般是 最后一项),点击“完成”按钮 3) 点击完成在名称处,输入“cash2000odbc”;在服务器下拉框处选 择数据库所在的服务器,如果是单机或服务器上安装,可选 择“(local)”,也可以输入“.”或本机名称,同时也可以输入服务器的IP地址,对于客户端,则应选择相应的数据库服务器或者服务器对应的IP地址,点击“下一步”按钮继续;

4) 选择数据库认证方式,建议使用数据库ID和密码的认证方式, 在“登录ID处”输入“sa”,“ 密码”处输入sa的密码,如果安装时没有密码,则为空,(一般情况下均为空);如果使用网络登陆ID的WINDOWS NT验证,则需要所有客户端均要可以得到SQL数据库服务器认证,通俗的说就是在服务器上创建一个网络用户,各工作站也建立一个同样的用户名,然后用这个用

Eclipse中装配Birt插件及基础教程

Eclipse中装配Birt插件及基础教程 https://www.doczj.com/doc/dc12758269.html, 网友分享于:2015-08-22 浏览:0次 网站:https://www.doczj.com/doc/dc12758269.html,/eclipse/1997097.html Eclipse中安装Birt插件及基础教程 这些天由于公司项目的需要,需要生产报表,我们公司使用的是cs客户端模式,主要运用的是J Frame来做的客户端,现在需要做报表,所以需要在客户端里面嵌套一个浏览器,然后使用Birt 来制作报表,所以才有如下文章,本来以为这个安装Birt插件是一件很easy的事情,然而没想到的是,百度了很久,都没有link安装的具体方法,要么就是插件包找不到(官网没有找到,可能是我英语不好,没看到),要么就是安装了没有效果,当然了,eclipse官网已经有了集成过B irt插件的IDE,但是我这人偏偏较真,就不想用他们已经集成好的,我就要自己按照link的模式来安装插件(对,没错,我就是那传说中的一根筋。。。。。),下面具体介绍下集成的步骤:第一步:去官网下载集成好的All-in-One那个包,地址如下Birt下载地址,下载后的包是:eclips e-reporting-mars-R-win32-x86_64.zip,解压之后里面是eclipse的文件目录,我们只用将其中的plugins和features提取出来,制作Birt的link插件即可,至于link安装方法其实很简单,这样做的好处是,方便我们调用插件,就算以后我们重装eclipse,只需要重新写个.link的配置文件就可以了,就不需要再重新下载插件,重新安装。(以下安装方法以本人电脑为例) 首先在eclipse软件的所在文件夹所在磁盘下新建BIRT文件夹,在BIRT文件夹下新建一个名为eclipse的文件夹,用来存放Birt的插件,将eclipse-reporting-mars-R-win32-x86_64.zip中解压的plugins和features两个文件夹复制到/BIRT/eclipse文件夹中; 注意:下图中两个文件夹的相对位置要正确

BIRT详细开发手册范本

BIRT详细开发手册

目录 1BIRT开发环境 (3) 1.1新建Project (3) 1.2新建Report (4) 1.3调整工作窗口 (5) 2BIRT报表开发 (6) 2.1新建数据源(Data Sources) (6) 2.2新建数据集(Data Set) (7) 2.3BIRT报表条件 (10) 2.3.1一般条件 (10) 2.3.2日期条件 (11) 2.3.3条件脚本 (11) 2.4BIRT表格 (13) 2.4.1Insert table (13) 2.4.2设置报表表头 (14) 2.4.3表头样式 (14) 2.4.4表格网络线 (15) 2.5绑定数据集 (15) 2.6表格数据添加分组(分组可以不用设根据需求添加) (16) 2.7报表标题(Master Page) (19) 2.8固定布局与自由布局 (20) 2.9报表预览 (21) 2.10数据操作 (23) 2.10.1列求和 (23) 2.10.2数据格式 (26) 3图表制作 (26) 3.1饼状图 (26) 3.2折线图 (32) 3.3柱状图 (38) 3.4图表效果展示 (42)

此文档为本人结合网上资料与本人BIRT开发经验整理的BIRT详细的开发手册,适用于初学者快速掌握BIRT开发。 1BIRT开发环境 BIRT开发环境是带有BIRT插件的eclipse 1.1新建Project 菜单栏file→new→other选择report project→nex,然后给project取名,完成后点击finish即可完成新建project

新建完成后的project 1.2新建Report 在新建的项目上右键new→orher , Report→next, file name为报表名称是以”. rptdesign”为结尾的文件,点击finsh即可完成新建Report.

全新版大学英语(第二版)听说教程4听力答案

Key to the Listening Exercises Unit 1 One World Part B: Exercise 1: 1. A radio or TV program 2.birthday celebrations around the world 3.they run a weekly column in the Toronto Daily Star 4.because they can’t afford the cost 5.because eighteen is the age when one is accepted as an adult with the right to vote, buy wines and drive a car. 6.because girls are considered to be more mature than boys of the same age. 7.Egypt, Turkey, Indonesia, and Senegal Exercise 2: F F T F F F F T Part C: 1.unique 2.globe 3.simultaneously 4.terrorist 5.remembrance 6.appropriate 7.sharing 8.the material can be submitted to the project organizers in Scotland 9.It will allow a voice to all people regardless of antionality, religion, race, political viewpoint, gender or age. Unit 2 Anti-smoking Part B: Exercise 1: d c b a a Exercise 2: 1.smoking is banned; public places; theaters and airports; all workplaces 2.have banned smoking; parks and recreation centers; smoke-free park; smoke-free zones; 375; January 1, 2002; harmful effects of secondhand tobacco smoke; dangerous bobacco waste Part C: d d a a Unit 3 Memory Part B: Exercise 1: d c a c

学生信息管理系统(MFC、VC、ODBC数据库)

用MFC做的一个学生信息管理系统,有增加、删除、排序、筛选功能,系统通过ODBC方式连接数据库。 由于文库不支持RAR,故需要完整的程序以及数据库可以联系俺,希望对大家有帮助。 下面是简单的报告: C++程序设计报告 设计题目:学生信息管理系统 班级: 姓名: 学号: 指导教师: 时间:2011年12月13日 目录 1.设计目标…………………………………………………………… 2.设计内容…………………………………………………………… 3.设计思想…………………………………………………………… 4.设计说明…………………………………………………………… 5.设计步骤…………………………………………………………… 6.软件演示…………………………………………………………… 7.感想总结…………………………………………………………… 学生信息管理系统(MFC) 1.设计目标 了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编

写Windows应用程序的基本模式与用ODBC方式访问数据库。 2.设计内容 以学生信息管理系统为例,通过对简单应用软件系统的设计,编制、调试,实现简单的增加、删除、排序等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。 3. 设计思想 基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。生成简单的应用软件。 4.设计说明 (1)包含的功能有:查看、增加、删除、排序、筛选等功能。 (2)通过access创建数据库并通过OD方式访问数据库。 (3)编辑界面上的不同按钮,创建消息映射,以完成相关的各种操作。5.设计步骤 1、创建数据库: 打开access,并创建一个新表“student”,输入相关内容,选择类型。并创建主键后。完成后保存。 2、添加ODBC数据源 打开“ODBC数据源管理器” 添加 选择

birt报表入门教程之图表报表

birt报表入门教程之图表报表 图表报表 图形报表是非常常见的一种报表样式,用于直观地表现数据规律。常用的类型包括:柱状图、饼图、折线图、甘特图、雷达图等。Eclipse的Birt插件为我们提供了多种图表的表现形式。 这里我们利用3.6的交叉报表,为它做一张简单直观的柱形图。 为报表插入图表 本例我们直接利用3.6交叉报表的数据集,直接在3.6所创建的报表上插入图表。在选用板“Palette”视图中拖拽一个“Chart”至布局编辑器中交叉报表“Cross Tab”的下方。 设定图表属性 1.选择图表类型 进行上一步拖拽之后,会弹出如下窗口:在此窗口我们首先要进行图表基本属性的设定。系统提供给我们有13种可供选择的图表,这里我们选择第一种“Bar”即柱形图。 在窗口中部右方的“Select Subtype”部分有三种类型可供我们选择,这里我们选择第一个,其他的数据设定:Dimension:2D With Depth(设定图形维度) Output Format:SVG(设定输出图表的格式)Multiple Y Axis:none

选择“Next”进入下一步:

2.设定好图表基本类型之后,进行图表的数据设定。窗口哦界面如上图。 在窗口中部的Select Data Set中,选择Use Data Set,然后从它的下拉菜单中选择我们所创建的唯一数据集contract,此时,Data Preview窗口出现了数据集中的各个数据项:

3.将数据项中的AMOUNT拖拽至左上方“Value(Y)Series”中的“∑” 框内。表示在图表的Y轴的变量设定为amount变量。(也可以通过点击“∑”框左边的函数符号来进行设定。点击进入后,在下方三个小窗口依次选择“Available Column Bindings”→“Chart-New Chart”→“AMOUNT”,点击“AMOUNT”时进行双击。或者可以直接在编辑窗口输入“row["AMOUNT"]”即可。点击“Ok”完成)

birt教程之交叉报表

birt教程之交叉报表 交叉报表 构建数据源 方法同上。 构建数据集 1.在定义好数据集的基本信息之后,进入SQL SELECT语句查询界面,输入如下SQL语句,进行数据集的创建: select EBANK.CUSTOMER.CUSTOMER_NAME, EBANK.PRODUCT.PRODUCT_NAME,EBANK.CONTRACTSUM.* from EBANK.CUSTOMER,EBANK.PRODUCT,EBANK.CONTRACTSUM where EBANK.CONTRACTSUM.CUSTOMER= EBANK.CUSTOMER.CUSTOMER_ID and EBANK.CONTRACTSUM.PRODUCT= EBANK.PRODUCT.PRODUCT_ID 2.如果创建正确,在结果预览窗口“Preview Relusts”中将看到一下信息:

点击“Ok”完成数据集的创建。 在报表中加入交叉报表 1.同上例,先在布局编辑器中建立一个1列2行的Grid。 2.从选用板“Palette”视图中拖拽一个“Cross Tab”至第二行的网格中。 在布局编辑器中可以看到我们创建的Cross Tab的样式。 数据准备 1.选择数据资源管理器“Data Explorer”。右键单击“Data Cubes”,选择“New Data Cube”,进入如下交叉表数据编辑界面: 2.默认选择的是“Dayaset”,Name:为Cube命名,Customer Cube Primery dataset:选择相关的数据集。打开下拉菜单选择之前建立的数据

集contract 3.在左边的主菜单中选择第二项“Groups and Summeries”,出现如下窗口(),在将Available Fields中的CUSTOMER_NAME拖拽到右边Groups (Dimensions)中标有“(Drop a field here to create a group)”的地方,如下图。

平衡二叉树学生信息管理系统报告

课程设计报告 ( 2011—2012年度第2学期) 实验名称:数据结构与算法 题目:平衡二叉树学生信息管理系统院系:控计学院 班级:信安1102 学号:111290206 学生姓名:侯晓帅 指导教师:焦润海 设计周数:1周 成绩: 日期:2012 年7 月 5 日

一、课程设计的目的与要求 (一).目的:应用数据结构和算法来设计相应的程序,培养学生问题求解模块的框 架设计和详细设计、相关程序实现和调试能力,完成创新能力和实践能力的训练。(二). 要求:用高级程序设计语言C编码,用VC++开发平台调试。 二、设计正文 (一)、课程设计题目 用二叉平衡树实现学生基本信息管理,功能如下: 1,创建;2,插入;3,删除;4,查找;5,显示;6,保存;7,退出; 要求:所有信息用文件保存,基本信息包括(姓名,学号,出生年月,班级)(二)、需求分析 本演示程序在DOS环境用C语言编写,完成平衡二叉树的生成,插入、删除,查找,修改,显示,排序,分组以及生成文件保存并读取。 1)输入的形式和输入值的范围:插入元素时需要输入插入元素的基本信息;删除元素时输入删除元素的关键字学号;查找操作时需要输入元素的姓名。在所有输入中,元素的值都是字符型数组。 2)输出的形式:在所有操作中都显示操作的结果。其中删除操作后显示删除的元素的值,查找操作后显示根据关键字查得的学生基本信息。 3)程序所能达到的功能:完成单平衡二叉树的创建(通过插入操作)、插入、删除、查找,显示等操作。 4)测试数据: 1.创建4个学生信息 naxu 1101 19930100 xinan1102 m akewei 1102 19930101 xinan1102 m liude 1103 19941210 xinan1102 m

ODBC数据源配置详细说明

ODBC数据源介绍 ODBC数据源是一组数据的位置,可以使用ODBC 驱动程序访问该位置。也是一种存储的定义,包含ODBC 应用程序连接到数据源所需的全部连接信息。开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。Microsoft 引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。 下面以Window2000下的ODBC管理器为例,介绍一下每一页的用途: 1、用户DSN:ODBC用户数据源存贮了如何与指定数据库提供者连接的信息。只对当前用户可见,而且只能用于当前机器上。这里的当前机器是只这个配置只对当前的机器有效,而不是说只能配置本机上的数据库。它可以配置局域网中另一台机器上的数据库的。 2、系统DSN: ODBC系统数据源存贮了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。 3、文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是界于用户DSN和系统DSN之间的一种共享情况。 4、驱动程序:这页列出了本机上所有安装的数据库驱动程序。里面列举了每个驱动程序的名称,版本,提供商公司,驱动程序文件名,以及安装日期。 5、跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。里面可设定日志的路径和文件名。技术人员通过这里面的信息可以看到本机上所有的数据库访问的时间,用户,以及出错信息等情况。也可以通过这个辅助调试应用程序,可以启动Visual Studio 的分析器,来进行ODBC的跟踪。 6、连接池:连接池允许应用程序重用原来打开的的连接句柄,这样可以节省到服务器的往返过程。 7、关于:最后这一页列出了所有的ODBC的核心文件。 ODBC数据源配置 以系统DSN配置为例进行说明。 第一步:“控件面板→管理工具→数据源(ODBC)”打开数据源管理器,切换到“系统DSN”选项卡。如下图:

birt报表初级教程之嵌套报表

birt报表初级教程之嵌套报表 嵌套报表 嵌套报表其实是一种设计技巧的应用,类似编码过程中的模块化设计。当报表的复杂程度让设计者开始觉得逻辑混乱的时候,可以使用嵌套报表设计方法,将报表拆分为多个不同的设计页面,然后使用一个总的页面将这些设计页面整合起来展现。 此外,嵌套报表有时候也会用于主从结构的实现,通过逐层嵌套,可以实现无限层次的主从结构数据展现。 本例,我们将每个客户的信息包括客户表中基本的信息以及他们的订单信息,在同一张表中按客户一一列出来,所使用的就是嵌套报表。 报表名我们定为:nestingTab.rptdesign 构建数据源 本例我们使用BIRT自带的数据源,在新建数据源选择数据源类型为默认的第一项:Classic Model Inc,Sample Database 数据库驱动类别;org.eclipse.birt.report.data.oda.sampledb.Driver(Classic Models Inc.SampleDB Driver);URL:jdbc:classicmodels:sampledb 构建数据集 本例我们需要建立2个数据集: 1.建立数据集payments,所用SQL语句:(这里我们加入条件选择订单大于150000) select CUSTOMERNUMBER,sum(AMOUNT)amount from CLASSICMODELS.PAYMENTS group by CUSTOMERNUMBER having sum(AMOUNT)>150000 order by amount desc 2.建立数据集customers:所用SQL语句: select*

birt教程之分组报表

birt教程之分组报表 分组报表 在网格报表的基础上,我们可能还需要对数据进行进一步的处理。比如,将同类数据显示在一个组中,并对这个组进行统计运算。如下图所示,对数据按省份进行分组,并将同一省份数据放在一个组内进行汇总统计。 下面我们将上例的网格报表进行一下小的改进,建立一个按用户类型进行分组的报表。 创建数据源 方法同上例。 构建数据集 本例所用的数据集与上例完全相同,输入与上例3.4.2相同的sql语句建立数据集即可。 对报表进行布局 1.做好上面的工作之后,先在布局编辑器中建立一个1列2行的Grid,2.同上例一样,从选用板“Palette”中拖拽一个5列1行的Table至第二行的网格中,

3.从Data Explorer视图中的“Data Sets”项中将TYPENAME拖拽至此Table 的第一个详细信息行中,然后依次将,CUSTOMER_ID,CUSTOMER_NAME,FAX,TEL拖拽入详细信息行内。这里不再赘述。 设定分组数据 1.选中Table,在右下方的Table的属性编辑器“Property Editor-Table”中,选择Group,进入如下分组设定界面: 2.点击“Add”按钮进行添加分组:

从“Group on”的下拉框选择TYPENAME,其他默认,(可根据需要对“Name”项进行命名),然后选择“OK”。完成分组设定。 3.这时Table中多出一行Group行,如下图:

将详细信息栏中的TYPENAME(即Table中第三行第一列数据项,如上图标记下方的数据项)删除。 这样,一个按照用户类型建立的分组报表就建立起来了。 格式化报表 进行报表格式化处理后,预览如下效果: 同为比较常用的报表工具,FineReport对分组报表的解决方案和实现方法与BIRT有所不同,具体实现思路和步骤如下,供BIRT使用者借鉴:

VC++6.0在程序中自动添加ODBC数据源

2009-02-23 01:19:46| 分类:VC++|字号订阅 // ST.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "ST.h" #include "STDlg.h" #include // #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif typedef BOOL (WINAPI

*SQLCONFIGDATASOURCE_FUNCTION)(HWND,WORD,LPCSTR,LPCSTR );//另加的 ///////////////////////////////////////////////////////////////////////////// // CSTApp BEGIN_MESSAGE_MAP(CSTApp, CWinApp) //{{AFX_MSG_MAP(CSTApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSTApp construction CSTApp::CSTApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CSTApp object

win和安装SQLServer安装教程及地址

Win 7 win xp系统中SQL200眩装注意事项一:SQL2008镜像下载地址 二:VS-2008 sp1补丁程序下载地址: 三:需要准备好sql2008的序列号 开发版(Developer): PTTFM-X467G-P7RH2-3Q6CG-4DMYB 企业版(Enterprise): JD8Y6-HQG69-P9H84-XDTPG-34MBB ) 四:1.安装SQL2008必须先安装VS-2008补丁程序sp1 系统和win7系统的sql2008的镜像是不一样的(xp镜像微软二班的老师已经发过) 五.安装过称中出现的问题及解决方法: 1 .错误: 在创建窗口句柄之前,不能在控件上调用Invoke 或BeginInvoke 解决方法: 窜规I麦会I源祉〕内育|谚摘[程序 |高缀 2. V V V / ? MLzl 不将为密自勺不存圈 对证书」坦d不匹国蹬出警古 用有堂”T小* j上】|fajn4 K 检查发行商的证书是否吊诵 检查胸有器证将另谄 检查丁载舶程序的莲在 将提立的 启用心 启用本机 白用紊成 铲’文件夫 POST重定向到不允在发送的区域口寸投出善 存舶 HMEJCTTP 支持 冠原高圾设置悟〕 碰定 关闭IE:如下图 错误: 检测时显示”重新启动计算机如下图: 虚用3厂一 | HTTP IfTTI- I. 1 通边代理迷建使田JCTTr 设置 白用内存侃if1草助藏少联tn攻击 使用SSL2. □ 夜用SSL 3. □ 使用TLS 1. □

解决方法:如下图: 1).开始菜单,运行,输入打开注册表 2)在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 中找 到PendingFileRenameOperations 项目,并删除它(注意在要右边窗口中)。 宣时.彳再陆潸腐 安裁M 玄持燃则 SQL Esn/er ESgj**觥拘(E 在生的淄“够面E*关命■耕琨学g S EKL &3中 % L Sff A 目附II 。. |g?ULfe

birt报表初级教程之报表设计器学习

birt报表初级教程之报表设计器学习 报表设计器 数据浏览器-把你的数据源(连接)以及数据集(查询)组织起来。数据集编辑器允许你测试数据集,以确保报表接收数据的正确性。 布局视图(Layout)-所见即所得编辑器为你的报表提供以拽方式来创建表现内容。包含一个标准报表条目调色板。 属性编辑器(Property Editor)-以便利的格局表现大多数通用的用户属性使编辑更快速和容易。BIRT也集成了标准Eclipse属性视图,为每个条目提供详细的属性列表。 报表预览(Preview)-你可以在任何时间采用真实数据测试你的报表。预览窗口直接内嵌在Eclipse中。 代码编辑器(Script)-在访问数据以及报表生成或浏览时,脚本把业务逻辑添加给报表。在编辑脚本时代码编辑器提供标准的Eclipse特性:语法加色、自动完成等等。BIRT用很简单的脚本来表达,expression builder能更容易的创建这些表达。 略图(OutLine)-BIRT报表被组织为一个树型结构作为整体报表的根,并且为样式、报表内容、数据源、数据集、报表参数等分类。略图视图提供你整个报表结构紧凑的预览。 Cheat Sheets-学习新工具永远是种挑战,但是Eclipse提供一种创新方案:cheat sheets。它们是一些帮助你完成新任务的文档。 同为常用的报表工具,与BIRT对比,FineReport的设计器是什么样的呢?具体如下:设计器概览 下图是FineReport报表软件设计器的整体示例图:

1.1模板管理面板 所有通过FineReport设计器设计出来的模板全部保存在reportlets文件夹下,并显示在模板面板中。 1.2数据集面板 数据集面板中展示的是数据集,数据集是指通过SQL语句,将数据库中的数据获取出来,作为模板数据的直接来源,数据集包括模板数据集和服务器数据集。 1.3模板预览方式 预览方式是指查看模板时以哪种方式查看,在设计器预览方式按钮处,有三种预览方式,分页预览,填报预览,数据分析,如下图:

相关主题
文本预览
相关文档 最新文档