0

如果我能在解决这个问题上获得一些帮助,我将不胜感激,我已经通过各种论坛寻找信息超过 2 天。哭泣或非常难过 哭泣或非常难过

我已经在 Windows 环境中安装了 Infosphere Datastage v8.5 进行测试并运行了几个作业,但是当我运行一个包含变压器的作业时,我得到了编译错误。

作业:行生成器 -> Tfx -> 顺序文件

根据我对各种论坛的搜索,我发现其他人也面临类似的问题。但我无法找到关于以下内容的具体答案:1.我需要安装的编译器和需要安装的相关 SDK与它一起安装 2. 或同时具有编译器+SDK 的组合包

安装指南谈到了 Microsoft Visual Studio .NET 2008 Express Edition C++:但没有提到需要安装的相关 SDK 是什么?或者是否有更新版本的 C++ 编译器 + SDK 可以在我的环境中运行

我的环境详细信息:

操作系统 - Windows Server 2008 R2(标准)SP1 - 64 位

IIS - Infosphere Information Server v8.5 64bit 多语言

--================

.Net 框架

--================

微软 .Net 框架 1.1

Microsoft .Net 框架 4 客户端配置文件

Microsoft .Net 框架 4 扩展

--=====

SDK

--=====

适用于 Windows 7 和 .NET Framework 3.5 SP1 的 Microsoft Windows SDK

本 SDK 创建了 2 个目录 path ,分别如下:

C:\Program Files\Microsoft SDK

C:\Program 文件 (x86)\Microsoft Visual Studio 9.0

Windows 环境变量:

包含 - C:\IBM\SQLLIB\INCLUDE;C:\IBM\SQLLIB\LIB;C:\Program Files\Microsoft SDKs\Windows\v7.0\Include

LIB - C:\Program Files\Microsoft SDKs\Windows\v7.0\Lib;C:\IBM\SQLLIB\LIB

类路径 - .;C:\IBM\SQLLIB\java\db2java.zip;C:\IBM\SQLLIB\java\db2jcc.jar;C:\IBM\SQLLIB\java\sqlj.zip; C:\IBM\SQLLIB\java\db2jcc_license_cu.jar;C:\IBM\SQLLIB\bin;C:\IBM\SQLLIB\java\common.jar

路径 - C:\IBM\InformationServer\Server\DSComponents\bin;C:\Program Files (x86)\MKS Toolkit\mksnt;C:\PROGRA~2\MKSTOO~1\bin64;C:\PROGRA~2\MKSTOO ~1\bin; C:\PROGRA~2\MKSTOO~1\bin\X11;C:\PROGRA~2\MKSTOO~1\mksnt;C:\IBM\InformationServer\ASBNode\apps\jre\bin\classic;C:\IBM\信息服务器\ASBNode\lib\cpp; C:\IBM\InformationServer\ASBNode\apps\proxy\cpp\vc60\MT_dll\bin;%systemroot%\system32;%systemroot%; %systemroot%\system32\wbem;%systemroot%\system32\windowspowershell\v1.0\;c:\program files (x86)\microsoft visual studio 9.0\vc\bin; c:\program 文件 (x86)\microsoft visual studio 9.0\common7\ide;c:\program files\ibm\gsk8\lib64;C:\IBM\SQLLIB\BIN;C:\IBM\SQLLIB\FUNCTION; C:\IBM\SQLLIB\SAMPLES\REPL;C:\Windows/SysWOW64

windows 命令提示符下的编译器信息:

c:\用户\skh>cl.exe

Microsoft (R) 32 位 C/C++ 优化编译器版本 15.00.30729.01,适用于 80x86 版权所有 (C) Microsoft Corporation。版权所有。

用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]

数据阶段环境变量:

APT_COMPILEOPT(旧):-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t- APT_COMPILEOPT(新):-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c

APT_LINKOPT(旧):-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-

APT_LINKOPT(新):-s -W/dll -W/base:0x50000000

(旧)表示 DS 环境变量具有的默认值。我运行了我的工作,它有一个变压器,但我得到了编译错误。我将环境变量值更改为(新)中所述的值,但仍然出现下面提到的编译错误


变压器编译的输出如下:

I IIS-DSEE-TFCN-00001 12:55:36(000)

IBM WebSphere DataStage 企业版 8.5.0.5746 版权所有 (c) 2001, 2005-2008 IBM Corporation。版权所有

##I IIS-DSEE-TFCN-00006 12:55:36(001) <main_program> conductor uname: -s=Windows_NT; -r=1; -v=6; -n=IN-MUM-IBMQLT; -m=Pentium 
##I IIS-DSEE-TOSH-00002 12:55:36(002) <main_program> orchgeneral: loaded 
##I IIS-DSEE-TOSH-00002 12:55:36(003) <main_program> orchsort: loaded 
##I IIS-DSEE-TOSH-00002 12:55:36(004) <main_program> orchstats: loaded 
##W IIS-DSEE-TOSH-00049 12:55:36(007) <main_program> Parameter specified but not used in flow: DSPXWorkingDir 
##E IIS-DSEE-TBLD-00076 12:55:39(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256. 
##E IIS-DSEE-TFSR-00019 12:55:39(001) <main_program> Could not check all operators because of previous error(s) 
##W IIS-DSEE-TFTM-00012 12:55:39(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1". 
##I IIS-DSEE-TBLD-00000 12:55:39(003) <main_program> Error when checking composite operator: Output from subprocess: cl : Command line warning D9035 : option 'GX' has been deprecated and will be removed in a future release 
cl : Command line warning D9036 : use 'EHsc' instead of 'GX' 
cl : Command line warning D9025 : overriding '/GX' with '/EHa' 

##I IIS-DSEE-TBLD-00000 12:55:39(004) <main_program> Error when checking composite operator: Output from subprocess: C:\IBM\InformationServer\Server\PXEngine\include\apt_util/ints.h(83) : fatal error C1083: Cannot open include file: 'strstream': No such file or directory 

##W IIS-DSEE-TFEV-00025 12:55:39(005) <transform> Error when checking composite operator: Converting string to number. 
##W IIS-DSEE-TFEV-00023 12:55:39(006) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "DFloat". 
##W IIS-DSEE-TFEV-00025 12:55:39(007) <transform> Error when checking composite operator: Converting number to string. 
##W IIS-DSEE-TFEV-00023 12:55:39(008) <transform> Error when checking composite operator: Implicit conversion from source type "DFloat" to result type "String". 
##W IIS-DSEE-TBLD-00000 12:55:39(009) <main_program> Error when checking composite operator: Output from subprocess: ld: script execution error in file 'C:/PROGRA~2/MKSTOO~1/etc/nutccg/ld.ccg' on line 1119 
>>> execv: could not run 'link32': The system cannot find the file specified. 

##I IIS-DSEE-TBLD-00079 12:55:39(010) <transform> Error when checking composite operator: cxx -LC:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/ -LC:/IBM/InformationServer/Server/PXEngine/lib -LC:/IBM/InformationServer/Server/PXEngine/user_lib -s -W/dll -W/base:0x50000000 -lliborchnt -lliborchcorent -lliborchbuildopnt C:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/V0S3_TestJob_Tfx_Transformer.tmp.o -o C:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/V0S3_TestJob_Tfx_Transformer.dll. 
##E IIS-DSEE-TCOS-00029 12:55:39(011) <main_program> Creation of a step finished with status = FAILED. (TestJob_Tfx.Transformer) 

*** Internal Generated Transformer Code follows: 
0001: // 
0002: // Generated file to implement the V0S3_TestJob_Tfx_Transformer transform operator. 
0003: // 
0004: 
0005: // define our input/output link names 
0006: inputname 0 DSLink2; 
0007: outputname 0 DSLink5; 
0008: 
0009: initialize { 
0010: // define our control variables 
0011: int8 RowRejected0; 
0012: int8 NullSetVar0; 
0013: 
0014: } 
0015: 
0016: mainloop { 
0017: 
0018: // declare our intermediate variables for this section 
0019: dfloat InterVar0_0; 
0020: 
0021: // initialise the rejected row variable 
0022: RowRejected0 = 1; 
0023: 
0024: // evaluate columns (no constraints) for link: DSLink5 
0025: InterVar0_0 = DSLink2.Dummy1; 
0026: DSLink5.Dummy1 = (InterVar0_0 + 5); 
0027: writerecord 0; 
0028: RowRejected0 = 0; 
0029: } 
0030: 
0031: finish { 
0032: } 
0033: 
*** End of Internal Generated Transformer Code
4

1 回答 1

1

这就是我修复它的方法。我希望这可以帮助面临类似问题的人并节省一些时间和精力。

所以,就这样:

我安装了 Visual Studio C++ 2008 速成版。

然后我处理了 vcvarsall.bat 文件。如果您想知道为什么,请检查

http://msdn.microsoft.com/en-us/library/x4d2c09s(v=vs.80).aspx

为 Python 2.7 构建/安装 C 模块时出错

)

我从 cmd 窗口执行以下命令,以设置 64 位编译器:

vcvarsall.bat amd64

注意:我的环境有一个 X64 AMD 芯片组 windows 服务器;我使用 echo %PROCESSOR_ARCHITECTURE% 从 cmd 窗口来确定这一点。

要交叉检查设置了哪个编译器,请执行以下命令,输出将指示。

cl.exe

接下来,设置以下 windows 系统变量:

包括 - C:\IBM\SQLLIB\INCLUDE;C:\IBM\SQLLIB\LIB; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

LIB - C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib ;C:\IBM\SQLLIB\LIB

注意:- 文件夹路径 C:\Program Files\Microsoft SDKs\Windows\v6.0A 由 Visual Studio C++ 2008 Express Edition 创建。这应该是为 INCLUDE & LIB 设置的文件夹路径的来源

SDK创建的路径类似 C:\Program Files\Microsoft SDKs\Windows\v7.0\ ,但是此路径中的 Include 和 Lib 文件夹不应该用于设置上述 Windows 环境变量,我犯了这个错误在我的设置过程中:(

如需参考,请查看要安装的 SDK 的发行说明。

将来自管理员的以下 Datastage ENV 变量设置为以下值。

APT_COMPILEOPT : -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t- APT_LINKOPT : -s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-

然后我重新启动了 Datastage 服务。

..变压器开始工作:)

PS:我没有卸载 Information Server 也没有卸载 SDK(我最初认为这是问题所在)

于 2014-10-05T12:30:43.960 回答