
定义Oracle外部数据源
请按以下步骤操作:
1. 您必须在运行要在其上设置外部数据源的计算机上安装 Oracle 客户端软件。
2. 在运行 SQL Server 的计算机上安装所需的驱动程序。Microsoft 仅支持用于 Oracle 的 Microsoft OLE DB 提供程序和 Microsoft ODBC 驱动程序。如果您使用第三方提供程序或第三方驱动程序连接到 Oracle,则在使用这些提供程序或驱动程序遇到任何问题时,您必须与相应的供应商联系。
3. 如果您使用用于 Oracle 的 Microsoft OLE DB 提供程序和 Microsoft ODBC 驱动程序,请考虑下列事项:
• 随 Microsoft Data 数据访问组件 (MDAC) 提供的 OLE DB 提供程序和 ODBC 驱动程序和都需要 SQL*Net 2.3.x 或更高版本。您必须在客户端计算机上安装 Oracle 7.3.x 客户端软件或更高版本。客户端计算机是运行 SQL Server 的计算机。
• 确保您已经在运行 SQL Server 的计算机上安装了 MDAC 2.5 或更高版本。如果使用 MDAC 2.1 或更早版本,则无法连接到使用 Oracle 8.x 或更高版本的数据库。
• 要使 MDAC 2.5 或更高版本能够与 Oracle 客户端软件一起工作,必须按照下表中的说明修改运行 SQL Server 的客户端计算机的注册表。
| Oracle Client | 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" |
4. 安装 Oracle 客户端软件之后,请重新启动运行 SQL Server 的计算机。
5.登录Excel服务器管理控制台,鼠标右键点击“新建”:

6.输入参数:

数据源类型:oracle
数据源名称:外部数据源的名称。
服务器或数据文件:指Oracle中的网络服务名,例如,Orcl。
登陆帐户:Oracle中的用户
登陆密码:对应帐户的密码。
7.注册数据表:

注意:
oracle数据库表中如果存在以下数据类型:
BLOB、CLOB、NCLOB、BFILE
则注册数据表时会出现错误,如果需要读取该表数据,建议新建一个排除了这些数据类型字段的视图进行注册。
8.确定主键:

每个表都需要指定主键。
9.确定使用权限:

设计者对外部数据源中的表分为三种权限:
提取:从数据表中提取数据。
回写:将数据回写到外部数据源的数据表中。
映射:模板上的数据表直接对应外部数据源中的数据表,即填写、查询直接对外部数据源中的数据表操作。
直接用户对外部数据源的操作权限,由模板的“初始填报权限”和“最终查阅权限”确定。
注意:
1.只有非视图的表才能设置回写权限和映射权限。
2.只有非视图的表且数据表中包含列“ExcelServerRCID”和“ExcelServerRN”时,才能设置“映射”权限。
注意大小写,必须完全匹配。ExcelServerRCID 的数据类型为 20位非定长字符,ExcelServerRN的数据类型为 长整型。例如,
Oracle中:

3.对已注册过的数据表,再进行注册时,会增加源表中存在但原来未注册的字段和刷新旧字段的数据类型,并重新判断是否可映射。