第22章、和其他系统的数据集成
在一个企事业单位中,可能有多种软件在应用,如财务软件、OA系统、ERP系统、自主开发的应用系统等等。这些应用软件各自都会积累大量的数据,若不能使它们彼此沟通整合起来,就会形成人们常说的“信息孤岛”的现象----一个企业中有多种系统在运行;各系统有各系统的数据,互相不能访问;同一份数据要在不同的系统中重复录入;各系统的数据之间常常出现不一致;哪里都有数据,领导需要数据时却无法迅速找到,找到了也不知是否准确。
信息孤岛问题的解决需要从多个方面着手,从技术上说,应当有使得不同的系统能够互访数据的能力。
Excel服务器提供了“外部数据源”的功能。其目的是使得Excel服务器能够访问和操作其它应用系统的数据库中的数据。相对于Excel服务器而言,其它系统的数据库称为“外部数据源”。 Excel服务器目前支持的外部数据源类型有三种:SQL Server、Oracle、Access、Sybase、Informix和MySQL。Excel服务器仅提供利用外部数据的方法。若要实际利用外部数据源的数据,需要具备以下条件: 1)您需要有Excel服务器的SysAdmin权限或应用的Administrators权限 2)您需要有对外部数据源数据库的管理权限。 3)您了解外部数据源的位置和访问方法。 4)您了解外部数据源中数据表和字段的含义。
要利用外部数据需要经过两个步骤。 首先,我们要在Excel服务器中建立外部数据源,也就是说,我们需要通知Excel服务前,现在有一个外部的数据库可用,这个数据库是什么类型的数据库(SQLServer 还是Oracle还是MySQL?),这个数据库在哪台机器上,如何能够连接到这个数据库。 建立了外部数据源之后,我们希望Excel服务器用到这个数据库中的哪些数据,还需要注册相应的表或视图,这一步的实质是让Excel服务器知道外部数据源中的表是什么表名,其中有哪些字段,这些字段是什么类型等等。
经过了上面两个步骤,Excel服务器已经有了足够的信息,可以“使用”外部数据源中的数据了。这是所说的“使用”,指以下操作之一: a把外部数据源中的表或视图作为定义填写规范的来源数据表 b定义提数公式的时候,选择外部数据源中的表或视图做为来源数据 c定义回写公式的时候,选择外部数据源中的表或视图作为回写目的表 d在模板上定义数据项,可以映射到外部数据源中的表(要满足一些附加条件)
22.1 建立外部数据源
建立外部数据源的操作可以在两个地方进行,一是在系统管理台中,由sysAdmin去建立,然后分配到各个应用系统中,这样可以被不止一个应用系统使用。另外就是由应用系统的管理员在管理控制台中建立,这样建立的外部数据源默认只是能够被这个应用使用;如果别的应用系统也需要用,还是要由sysAdmin在系统管理台中进行分配。 Excel服务器支持的外部数据源数据库类型有多种,本节说明最常见的两种外部数据源类型,SQL Server 和Oracle如何注册。
22.1.1 注册SQL Server外部数据源 本节我们把SQL Server 中自带的例子数据库pubs注册为外部数据源。 1)用Admi账户登录到管理控制台,在左侧选中“外部数据源”,选择右键菜单【新建】,弹出“注册外部数据源”窗口。 2)输入数据源名称(自己起),数据源类型选择“SQL Server”。因为现在我们要选择的pubs数据库和Excel服务器自己的数据库都在同一个SQL Server(实例)之下,所以要勾选“是本地SQL Server实例”,如果要连其它机器上的数据库,则不要勾选这一项。数据库名输入pubs,输入连接到 SQL Server的账户和口令。

22.1.2 注册Oracle外部数据源 配置Oracle外部数据源,需要经过两步,首先,需要在Excel服务器数据库所在的机器上安装Oracle的客户端,然后,需要修改此机器的注册表,使得SQL Server和Oracle数据库可以互通互联。 以下的操作全部在Excel服务器的数据库所在的机器上继续。 安装Oracle客户端 安装Oracle客户端的时候,要选择“自定义安装”,在组件中必须选择“Oracle Windows Interfaces”,推荐选择SQL*Plus和Enterprise Manager。 配置Oracle客户端 Oracle客户端安装完成后会自动出现客户端配置界面,选择自定义配置,按下面的步骤操作。(如果安装完客户端之后没有马上做配置,事后选择Oracle客户端菜单组中的【配置和移植工具】--【Net Configuration Assitant】,也会调出同样的客户端配置界面)







修改注册表 Oracle客户端配置完成之后,还需要修改注册表中的若干项,使得本机上的SQL Server数据库和Oracle数据库能够互联互通。具体需要修改的项目如下。
|
Oracle版本 |
Microsoft Windows NT、 Oracle Microsoft Windows 95、 Client Windows 98 和 Windows 98 SE |
Microsoft Windows 2000/XP/2003 |
|
7.x |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\TransactionServer\Local Computer\My Computer] "OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll" "OracleOciLib"="ociw32.dll |
[HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\MSDTC\MTxOCI] "OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll" "OracleOciLib"="ociw32.dll" |
|
8.0 |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="xa80.dll" "OracleSqlLib"="sqllib80.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="xa80.dll" "OracleSqlLib"="sqllib80.dll" "OracleOciLib"="oci.dll" |
|
8.1 |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient8.dll" "OracleSqlLib"="orasql8.dll" "OracleOciLib"="oci.dll"
|
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient8.dll" "OracleSqlLib"="orasql8.dll" "OracleOciLib"="oci.dll"
|
|
9.0 |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient9.dll" "OracleSqlLib"="orasql9.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient9.dll" "OracleSqlLib"="orasql9.dll" "OracleOciLib"="oci.dll" |
|
10.0 |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient10.dll" "OracleSqlLib"="orasql10.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient10.dll" "OracleSqlLib"="orasql10.dll" "OracleOciLib"="oci.dll" |
在Excel服务器中注册Oracle外部数据源 注册Oracle外部数据源的时候,数据源类型要选择Oracle,网络服务名要输入在Excel服务器数据库所在的机器上配置Oracle客户端的最后一步,自己指定的那个网络服务名(参见前面的叙述),模式要输入你想要访问的Oracle数据库中的模式名,远程账户和密码要输入能够访问Oracle数据库中指定模式的账户和密码。 其中后三项,即模式名、远程账户和密码,如果不知道的话,需要询问Oracle数据库管理员。

|