如果我能在解决这个问题上获得一些帮助,我将不胜感激,因为我已经通过各种论坛寻找了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
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
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环境变量具有的默认值。我跑了我的工作,有一个变压器,但我得到了编译错误。 我将环境变量值更改为(新)中所述的内容,仍然得到下面提到的编译错误
变压器编译的输出如下:
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
答案 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(我最初认为是问题)