2008年(8065)
分类: 服务器与存储
2008-05-18 12:57:59
环境
产品:Websphere Information Integrator
平台:Windows 2000, Windows 2003, Windows XP
版本:v8.2
问题
在DB2中一旦安装了Websphere Information Integrator,那么就可以为本地或者远程机器上的excel文件创建nickname,但是在实现的过程中我们会发现,如果访问远程机器上的excel文件对应的nickname时,通常会遇到如下报错:
SQL1822N 从数据源 "Excel Wrapper" 接收到意外的错误代码"-1706.O"。相关联的文本和标记为 "Error opening source spreadsheet"。
SQLSTATE=560BD
解答
这个问题的关键就在于Windows系统上的安全机制。当excel文件在远程机器上时,那么db2是作为服务而运行的,而不是作为应用程序来运行的,那么启动db2服务的这个用户以及远程系统上该用户的文件权限就决定了是否能够使用远程的excel来创建nickname。
只要满足了下面的需求,就能为远程的excel文件创建nickname了:
1. 在本地机器上启动db2实例的用户必须在远程拥有excel的机器上也存在
2. 本地用户和远程这个同名用户的密码必须一样
3. 本地启动db2实例的用户必须是本地管理员组的一个用户,远程的同名用户没有特殊要求
4. 远程机器上的这个同名用户必须能够存取这个excel文件
5. 在创建nickname的时候,指定excel文件时需要指定全路径(例如),而不是一个网络映射驱动器