在SSIS中使用Informix dbaccess导出要导入到SQL Server的数据

问题描述:

我目前有一个类似于详细的here的SSIS包,它循环访问IBM DB2数据库中的表的列表,将表内容导出为文本文件,然后使用“iSeries服务器的数据传输”为每个表创建文件,然后使用批量插入任务将它们导入到SQL Server中。在SSIS中使用Informix dbaccess导出要导入到SQL Server的数据

我们正在转向新的Informix 11.50 fc7w3数据库,并希望使用类似性质的SSIS包将表导出到SQL Server。

我相信我需要用包含UNLOAD语句的相应.sql文件来执行dbaccess。

首先,是否可以通过包含UNLOAD语句的.sql文件的参数通过SSIS执行dbaccess。

其次,我需要执行什么参数或命令行提示符。

我想测试这里面安装了IBM Informix客户机和DBACCESS工具,虽然当我运行我收到以下错误工具的服务器上:

ERROR: Could not initialize the security subsystem. Please ensure that this account has the necessary privileges and ensure INFORMIXSERVER value exists in the registry and environment.

我如何能纠正任何建议上面的问题?我几乎不知道如何管理Informix数据库/服务器。

我试图执行dbaccess工具的服务器是带有SQL Server 2008 R2的Windows Server 2008 R2。

+0

您不应该使用“新的11.50”Informix数据库;它是后沿版本(最早的仍然支持的版本)。可能有使用它的原因,但它不应该用于新系统。 Informix 12.10将是最好的; 11.70或多或少可以接受。 – 2013-05-19 23:16:09

+0

考虑到以前的系统,它对我们来说很新,大约有20多年的历史。我不能同意你的看法,但我没有发言权,我们将运行哪个版本。 – mheptinstall 2013-05-20 17:21:21

为了从SSIS执行它,您可以执行一些java/python或任何连接到Informix的代码,并通过发出常规选择语句将数据返回到客户端文件系统。卸载命令只会将数据导出到Informix服务器本地文件系统中。您可以调用也可能使用卸载命令的Informix存储过程。在这种情况下,您可以使用NFS/Samba等访问您的输出文件,以便通过SSIS读取它们。