v8.5 - 编译并行变压器时出错

时间:2014-10-02 09:01:27

标签: c++ transformer datastage

如果我能在解决这个问题上获得一些帮助,我将不胜感激,因为我已经通过各种论坛寻找了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 64位多语言

- =====

.Net framework

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

Microsoft .Net framework 1.1

Microsoft .Net framework 4 Client Profile

Microsoft .Net framework 4 Extended

- =====

SDK

- =====

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

此SDK创建了2个目录路径,如下所示:

C:\ Program Files \ Microsoft SDK

C:\ Program Files(x86)\ Microsoft Visual Studio 9.0

Windows环境变量:

INCLUDE - 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

CLASSPATH - 。; 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米\仓; C:\ PROGRA〜2 \ MKSTOO〜1个\ BIN \ X11; C:\ PROGRA〜2 \ MKSTOO〜1 \ mksnt; C:\ IBM \ InformationServer \ ASBNode \ APPS \ JRE \ BIN \经典; C:\ IBM \ InformationServer \ ASBNode \ LIB \ CPP; C:\ IBM \ InformationServer \ ASBNode \ APPS \代理\ 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 files(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:\ Users \ skh> cl.exe

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

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

数据环境变量:

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 Enterprise Edition 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

1 个答案:

答案 0 :(得分:1)

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

所以,在这里:

我安装了Visual Studio C ++ 2008 Express Edition。

然后我解决了vcvarsall.bat文件。如果你想知道为什么,请检查

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

Errors while building/installing C module for Python 2.7

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

  

vcvarsall.bat amd64

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

要交叉检查设置了哪个编译器,请执行以下操作并输出。

  

cl.exe

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

INCLUDE - 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&amp; amp;设置的文件夹路径的来源。 LIB

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

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

将以下Datastage ENV变量从Administrator设置为以下值。

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(我最初认为是问题)