注册账号 登录
用友之家-用友软件论坛 返回首页

ytxjy的个人空间 https://www.oyonyou.com/?384 [收藏] [复制] [分享] [RSS]

日志

通用账证查询打印软件采集Oracle数据库连接参数详解

已有 481 次阅读2010-11-6 17:45 |个人分类:新纪元通用账证查询打印软件

 

  通用账证查询软件采集Oracle数据库的财务数据时,连接参数如下图所示:

 

  连接新中大的Oracle数据库:

 

图片


   连接用友NC的Oracle数据库:

 

图片

 

  连接浪潮GS的Oracle数据库:

 

图片
 

以下对连接参数中的各项详细描述

 

  一、数据库访问方式:直接访问和通过应用程序服务器访问

 

  直接访问,账证查询打印软件所在电脑,直接连接到Oracle数据库所在电脑,即所谓的二层结构。

  通过应用程序服务器访问,账证查询打印软件所在电脑,不直接连接Oracle数据库,而是连接中间层服务器所在电脑,中间层服务器连接Oracle数据库,即所谓的三层结构。

  中间层服务器是一个后台服务软件,由新纪元软件工作室自主开发,它安装在数据库所在电脑上或者其它电脑上,开机自动启动,为局域网或外网其它电脑通过中间层访问数据库提供服务。

  中间层服务器与数据库之间的连接参数配置,与账证查询打印软件直接连接数据库方式的参数类似,如下图所示:

 

图片

 

  为什么要通过中间层服务器连接数据库呢?主要是基于数据库安全性和财务账套数据的查询权限考虑。

  数据库安全性直接访问方式下,访问者需要知道数据库地址、数据库标识、数据库系统管理员system口令等敏感参数,这对于小型单位、局域网内的应用,可能不是安全隐患,但是对大型单位,特别是数据库服务器位于外网上,这些敏感参数,不宜公开。如果客户端通过中间层服务器访问数据库,客户端只要知道中间层服务器的地址即可,其它敏感参数全不需要。 打个比喻,数据库是一个物料仓库,中间层服务器程序是仓库保管员,账证查询打印软件是领料者,当账证查询打印软件需要采集数据时,相当于从仓库中领料。直接访问方式下,相当于仓库保管员把仓库地址和库房钥匙给了领料者,领料者自己随便取。通过中间层服务器访问方式下,领料者告诉仓库保管员领什么料,由仓库保管员从库中取来,交给领料者。领料者,无权也没必要知道库房位置,无权也没有必要拥有库房钥匙。

  财务账套数据的查询权限直接访问方式下,只要连上数据库,数据库中所有账套数据,都可以查询得到。这对于账套少、财务人员按账套分工不明确的小型单位来说,不存在访问权限的问题。对于账套较多、财务人员按账套分工明确的大型财务系统,中间层服务器可以起到分配账套查询权限的作用。中间层服务器自动创建一个管理员帐户,账户名:admin,管理员可以在中间层服务器软件窗口或者账证查询打印软件的采集数据窗口,点击“账套权限”按钮,给各个使用账证查询打印软件的客户端,创建账号并分配各自的账套查询权限。客户端以“通过中间层服务器连接数据库”方式采集数据时,输入自己的帐号和口令,仅仅可以采集已授权账套的数据。客户端第一次使用自己的帐号时,密码是空的,必须设置了自己的密码才能继续进行。还以物料仓库、仓库保管员、领料者为例,每个账套数据,比喻为库房中的一个库位。直接访问方式下,领料者可以随便从各个库位取料,通过中间层访问方式下,领料者只能领管理员授权的一个或几个库位的料。具体到财务软件数据采集上,例如用友NC、浪潮GS,整个集团公司所有核算单位的数据,在一个数据库里。如果采用“直接访问”方式,只要连上数据库,所有核算单位的数据,全部可以采集、查询。如果采用“通过中间层服务器访问”方式,管理员可以给每个使用账证查询打印软件的客户端,分配帐号和权限,使其仅可以采集一个或多个核算单位的数据。例如,基层单位,仅可以采集自己的数据,上级单位可以采集自己本身及所有下属单位数据。

  中间层服务器可以安装在数据库服务器所在机器,也可以安装在能够连接数据库服务器的其它机器上。

  如果数据库访问方式选择了“通过中间层服务器访问”,以下参数中,仅需要提供中间层服务器地址。

 

  二、强制使用oci方法连接Oracle、连接的是Oracle 7

 

  这两个选项,默认为不选中。

  “强制使用oci方法连接Oracle”不选中时,可以在没有安装Oracle客户端软件的电脑上,连接Oracle数据库,但是需要提供服务器地址、数据库唯一标识(SID)、数据库侦听端口号(Port)。

  “强制使用oci方法连接Oracle”选中时,当前电脑必须安装有Oracle客户端软件,并且正确配置了与数据库连接的网络服务名,这时,仅需要提供这个网络服务名,就可连接Oracle数据库。

  “连接的是Oracle7”这个选项,仅当Oracle数据库是早期的Oracle7版本时,才需要选中。

  举例说明,假设一个单位使用新中大NG系列财务软件,后台数据库是Oracle的。财务人员的电脑,因为要使用新中大软件,所以安装了Oracle的客户端,并配置好了网络服务名,这是正常使用新中大软件的前提。在这样的电脑上,使用本软件连接Oracle时,可以选中“强制使用oci方法连接Oracle”。这个单位的审计人员,不使用新中大软件,自己的电脑上,没有安装Oracle的客户端,使用本软件连接Oracle时,就不能选中“强制使用oci方法连接Oracle”。由此可见,“强制使用oci方法连接Oracle”不选中时,不需要Oracle客户端的支持,适用范围更广。

  需要特别说明的是,用友NC、浪潮GS、新中大I6多组织版等通过IE浏览器运行的财务软件,客户端肯定不需要安装Oracle的客户端软件,所以,“强制使用oci方法连接Oracle”选项,一定不需要选中。

 

  、数据库服务器地址 /  中间层服务器地址

 

  如果数据库访问方式选择的是“通过中间层服务器访问”,输入的是中间层服务器的地址。如果中间层在局域网上,地址是中间层所在电脑的机器名或者内网IP地址,如果中间层位于外网上,地址是中间层的外网IP地址或者动态域名。

  如果数据库访问方式选择的是“直接访问”,并且未选中“强制使用oci方法连接Oracle”,输入的是数据库服务器的地址。数据库服务器在局域网上,地址是数据库服务器所在电脑的机器名或者内网IP地址,如果数据库服务器位于外网上,地址是数据库服务器的外网IP地址或者动态域名。

  如果数据库访问方式选择的是“直接访问”,并且已选中“强制使用oci方法连接Oracle”,不需输入数据库服务器地址。

  

  检测本机与数据库服务器或者中间层服务器能否连通的方法:

  

  开始-》运行-》CMD-》ping 地址

 

图片

 

  上图,本机与给定地址的机器,网络连接是通的,地址正确。

 

图片


 

  上图,窗口中出现的“timed out”字样,说明本机与给定地址的机器,网络连接不通,地址不正确或其它网络原因。


  如果数据库访问方式选择的是“通过中间层数据器访问”,上述检测,只是说明本机与中间层机器是否可以连通,本机要正常通过中间层访问数据库服务器,还要求中间层所在机器的211端口正在监听并对外开放,检测方法如下:

 

  开始-》运行-》CMD-》telnet 中间层服务器地址 211

 

图片

 

  上图中,“211”后回车,可能的情形,下面两幅图之一。


图片

 

  上图中,出现一个无内容的黑窗口,表示中间层服务器211端口正在监听并且对外开放,你可以通过中间层访问数据库。


图片

 

   上图中,窗口出现“不能打开主机的连接,在端口211”,说明中间层服务器所在电脑的中间层服务器软件没有启动,或者,端口211没有启动监听,或者,端口211没有对外开放。

 

  中间层服务器所在电脑右下角的托盘里,中间层服务器已启动时,下图中应该有第二个图标存在,端口211正在监听时,下图中应该有第一个图标存在。

 

  下图,中间层已启动并且连接数据库正常,注意看图中第二个图标的状态

图片

  下图,中间层已启动但不能成功连接数据库,注意看图中第二个图标的状态

图片

 

  、连接用友NC的Oracle数据库所需的NC系统管理员名 /  连接浪潮GS的Oracle数据库所需的数据库实例名

 

  不是连接浪潮GS、用友NC,或者,数据库访问方式为“通过中间层服务器访问”,不需填此参数。

  用友NC的系统管理员名,就是在Oracle数据库系统中,用友NC数据库的用户名;浪潮GS的实例名,也决定了这个实例在数据库中的用户名,比如,如果实例名是“01”,那么数据库中的用户名就是“LC019999”。


  、侦听端口(Port)

 

  数据库访问方式为“通过中间层服务器访问”,或者强制使用oci方法连接Oracle”被选中,不需添此参数。

  Oracle的侦听端口通常是“1521”,除非数据库管理员修改为其它端口。Oracle服务器启动后,它的侦听程序也启动,侦听端口时刻侦听是否有客户端发来的数据库访问申请。如果侦听程序未启动或者你输入的侦听端口与服务器的正在侦听的端口不符,你无法访问数据库。

  测试Oracle侦听端口的方法,与上述测试中间层服务器的侦听端口一样,只是将端口“211”,改为端口“1521”。

 

  、数据库唯一标识(SID)/ 服务名( Server Name )

 

  数据库访问方式为“通过中间层服务器访问”,不需添此参数。

  “强制使用oci方法连接Oracle”未选中,输入的是Oracle数据库的唯一标识(SID),这个SID确定你要访问的是数据库系统中究竟哪一个数据库,因为Oracle数据库系统中,是可以多个数据库同时运行的。

  “强制使用oci方法连接Oracle”选中时,表示本机安装了Oracle客户端软件,并且已经配置好了连接服务名,此处输入的是服务名(Server Name)。

  数据库唯一标识的查询方法一:在Oracle数据库服务器上,开始-》控制面板-》管理工具-》服务,出现如下窗口:

 


图片

 


  上图中,找到以“OracleServer”打头的服务,名称中“OracleServer”后面的字符,就是一个数据库的唯一标识。

 

  数据库唯一标识的查询方法二:在Oracle数据库服务器上,开始-》程序-》Oracle-》Enterprise Manager Console,进入Oracle控制台,出现如下窗口:

 

图片


  上图中,数据库节点下面第一个是Oracle系统自身的数据库,第二个是为应用程序创建的数据库,唯一标识是“ZQX”。

  当然,数据库系统中,可能存在多个数据库,你应该知道你想要的是哪一个。

 

  服务名的查询方法:

 

  第一步,首先查Windows注册表,找到Windows客户端的安装文件夹:开始-》运行-》Regedit , 窗口如下:

 

图片

 

  如上图,找到注册表中的HKEY_LOCAL_MACHINE\SOFTWHERE\ORACLE节点,右边的注册项ORACLE_HOME的值,就是Oracle安装文件夹。此例子中,Oracle安装文件夹为:F:\Program Files\Oracle  。 

 

  第二步,找到Oracle安装文件夹的network\ADMIN子文件夹,该文件夹下,应该有一个名为Tnsnames.ora的文件,双击打开,如下图:

 

图片

 


  如上图,括号外边、等号左边的字符,就是一个Oracle网络服务名(Serer Name )。当然,这个文件里面,可能有多个服务名,你应该知道用到的是哪一个。

 

  、用户名(Logid)和口令(Logpass)

 

  数据库访问方式为“通过中间层服务器访问”,不需填用户名和口令。

  用户名(Logid)是固定死的,不可选,或者,二个选用一个。对浪潮GS、用友NC,用户名可选数据库管理员system,也可以选浪潮GS或用友NC的管理员。

  口令(Logpass)可以输入用户的真实口令,也可以输入加密后的口令。

  什么是加密后口令?如果数据库有专人管理,管理者不希望将口令泄漏给客户机,管理者可以利用本软件的“产生加密口令”功能,将真实口令,产生出一个加密后的口令,客户机连接数据库时,指明这是加密后的口令,也可以成功连接数据库。产生加密口令的过程:本软件数据源菜单-》产生加密后的口令给客户机,有下图:

 

图片


 

  如上图所示,口令拥有者将一个真实的口令,加密为“U1S2U4O4W516”,将这个加密后口令,通知给各客户机,照样连接数据库。这个加密后口令,除了在本软件连接据库时有用外,没有其它用途。 

 

  本软件连接Oracle数据库的连接参数介绍完毕,看起来很复杂,但是,这是必需的。如果你稍微有一点数据库和网络知识,这其实是一个很简单的事情。

 


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册账号

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-1 06:46 , Processed in 0.028271 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部