1. 程式人生 > >datastage執行時錯誤總結(更新中)

datastage執行時錯誤總結(更新中)

問題一:根據給出的id資訊找到表,列!!!

SQL0407N  Assignment of a NULL value to a NOT NULL column "TBSPACEID=2, TABLEID=50, COLNO=8" is not allowed.  SQLSTATE=23502 

解決:

上面的錯誤資訊沒有直接給出table名,可以通過下面的語句得到table和column

SELECT * FROM SYSCAT.TABLES WHERE TBSPACEID = 2 AND TABLEID = 50


SELECT * FROM SYSCAT.COLUMNS WHERE  TABNAME= '*******' AND COLNO = 8

---當然你也可以寫在一起

SELECT tabschema, tabname, colname
FROM syscat.columns
WHERE colno = ... AND
( tabschema, tabname ) IN
( SELECT tabschem, tabname
FROM syscat.tables
WHERE tbspaceid = ... AND
tableid = ... )
--

問題二:亂碼問題

在DSEnge目錄下的dsenv中新增如下內容。 LANG=zh_CN.GB18030;export LANG LC_ALL=zh_CN.GB18030;export LC_ALL LC_CTYPE=zh_CN.GB18030;export LC_CTYPE LC_COLLATE=zh_CN.GB18030;export LC_COLLATE LC_MONETARY=zh_CN.GB18030;export LC_MONETARY LC_NUMERIC=zh_CN.GB18030;export LC_NUMERIC LC_TIME=zh_CN.GB18030;export LC_TIME LC_MESSAGES=zh_CN.GB18030; export LC_MESSAGES

--


 DataStage是Ascential的ETL工具,後為被IBM收購了,現在已經是WebSpare的一個元件了!


      以前按安裝文件來安裝的DataStage,一直是沒有問題的。可是現在到了蘇州這邊,卻出了問題,原因是有些字是GB2312識別不出來了,比如說這個字“旻”字。


     折騰了幾天,總算有了些經驗,終於解決了這個問題,配置如下:
     使用者的.bash_profile裡面:NLS_LANG=AMERICAN_AMERICA.ZH16GBK,如果說開發機器是Windows,那登錄檔項:[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1] 中 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 這是為了能夠在客戶端正確地顯示字元。
DataStage Administration Client 選中自己的工程,點選NLS,檢視其中的確Parallel Maps項,Dafault map name:直接輸入GBK。
PXEngine\etc\Oracle_cs.txt 這個檔案是Oracle和DataStage之間互動用的,新增以下二行:
    GBK     ZHS16GBK
    ZHS16GBK  GBK
    做好以上三點,應該就沒事了

問題三:補丁問題

datastage在執行時總是遇到這問問題,但是在專案重建之後好個一天半天的問題又出現了!據說是補丁問題!我們現在用的版本是8.7.0.0,,據說升級到8.7.0.1!!!! a call to an OLe server has failed ,or runtime error occurred  within  the ole itself
error calling subroutine :DSR_EXECJOB (action=5)
重建客戶端或許有用,把之前說有練過的客戶端重新安裝一遍!!!注意解除安裝的時候記得刪除登錄檔!具體詳見網址:http://www-01.ibm.com/support/docview.wss?uid=swg21456615 但是我安裝上面刪除了登錄檔之後客戶端的DB2無法啟動了, 報錯如下
[email protected]
: RC=9501
DB2INSTANC : -2029059760


cannot create odbc ENV...  handle
然後我就想解除安裝DB2重灌,最可惡的是DB2 竟然解除安裝不了,沒方法辦法,強制解除安裝!!方法見我DB2欄目的部落格!! 但是我在用那種方法試了之後不管用,沒辦法,就把新安裝的datastage客戶端謝了,把所有的有關IBM的登錄檔都清了,但是安裝的時候好像還是報錯,沒辦法,換另一個版本的DB2重灌了!!

問題四:ds的transformer報找不到輸入欄位錯誤

ds的transformer報找不到輸入欄位錯誤,但是經過仔細的排查,發現欄位是select出來且各個stage(join)都引用了的!!why
原來是我在select該欄位的時候用了trim,但是該欄位本來的型別是decamal!!!trim之後自動轉化成varchar,型別不匹配,transformer不識別

問題五:job執行失敗但是資料正常插入

報錯如下: IFS_CUSTINDEX,0: SQLFetch reported: SQLSTATE = 22018: Native Error Code = -420: Msg = [IBM][CLI Driver][DB2/AIX64] SQL0420N  Invalid character found in a character string argument of the function "DECFLOAT".  SQLSTATE=22018 (CC_DB2DBStatement::dbsFetch, file CC_DB2DBStatement.cpp, line 1,986)
找了半天不知道原因在哪裡; 後來原來是 在寫sql的where條件式 比如 ”where class=3 “ class為varcha型別!就這樣報錯了,view data的時候是沒有問題的! 看了http://www-01.ibm.com/support/docview.wss?uid=swg21448700之後,隱約知道是資料型別的問題,但是他隱藏的實在是太深了!
問題六:transformer之後行減少很多 報錯如下
Transformer_31,0: Field 'APT_Decimal::ErrorBase: From: divizor is 0 via exception..' from input dataset '0' is NULL. Record dropped.

搜到這個網站 http://www.dsxchange.com/viewtopic.php?p=411460
是這樣說的
Detect which input columns to that Transformer stage contain nulls and which operation (stage variable, constraint expression, derivation expression) is having problems handling null because it contai ...


Are you doing any division operations in the last transformer? And if so, are he columns used for division have zero or null in them?

果然,我在做除的時候儘管做了分母是否為0的判斷,但是在除的時候竟然把分子寫成了分母!故導致問題!

相關推薦

datastage執行錯誤總結更新

問題一:根據給出的id資訊找到表,列!!! SQL0407N  Assignment of a NULL value to a NOT NULL column "TBSPACEID=2, TABLEID=50, COLNO=8" is not allowed.  SQLST

FPGA-04-在ISE錯誤總結更新

1.procedural assignment to a non-register DATA_BUS is not permitted       這種報錯一般是在always語句中使用了非reg變數,在always語句中所有訊號必須是reg變數,低階錯誤

python總結更新

註意 整數 元素 生成 更新 ron 外部 也會 mmu 1 python函數中的參數傳遞(註意可變和不可變傳遞) 可更改(mutable)與不可更改(immutable)對象 在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而

軟件體系結構知識點總結更新

綁定 體系 ast taint structure 完整 延遲 維護 公式 軟件體系結構 公式 ? 體系架構=組件+連接件+約束 ? SoftwareArchitecture=Components+Connectors+Constra

redis操作總結更新

本地啟動redis ps -ef | grep redis cd /usr/local/redis/bin ./redis-server //使用預設配置啟動(比如預設不載入密碼) ./redis-server ../etc/redis.conf //使用配置檔案啟動 redis-c

Vue.js 餓了麼開發過程錯誤整理更新……

此錯誤解決方案基本上來自CSDN,我只是配合我的問題做個整理,方便下次查詢,侵權刪 一、錯誤一 原因:   ./表示你自己當前載入當前目錄下的router檔案,但是我們沒有這個檔案,所以‘./router’會報錯; ‘vue-router’表示這是一個模組,這

區間dp總結更新

前一陣跟著紫書學了區間dp,趁著還沒涼再複習複習    題目要求 : 有n堆石子排成一行,每次選擇相鄰的兩堆石子,將其合併為一堆,記錄該次合併的得分為兩堆石子個數之和。已知每堆石子的石子個數,求當所有石子合併為一堆時,最小的總得分。     解題思路 : 將每個大的區

軟體研發知識點總結更新

1.乙太網中根據MAC地址區分不同的裝置。 2.static的用途: (1)在函式體內,一個被宣告為靜態的變數在函式被呼叫的過程中維持其值不變。 (2)在模組內(函式體外),一個被宣告為靜態的變數可以被模組內的函式訪問,但不能被模組外其他的 函式訪問,它是一個本地的全域性變

ReactJS & antd 環境專案執行錯誤總結

一、webpack打包時報錯: Import in body of module; reorder to top import/first 解決方法: import 必須在其它所有業務程式碼前面,檢查“ ./src/form/form.js ”是否是

常見編譯錯誤更新...

一、 無法解析的外部符號 [email protected],該符號在函式 ___tmainCRTStartup 中被引用 #include using namespace std; int main() { cout <<“This is a C++ progra

工作總結的工具更新

FeloneHelper 下面都是工作中總結的工具,全部集合在utils裡面,一般都在程式碼中做了使用示例,直接把程式碼跑一遍,然後按下面的流程複製到自己專案就可以用。專案用的是AndroidStudio 3.1.3 ,高於這個版本的應該都可以正常跑起來。有目

VBA異常--執行錯誤1004將一個工作簿拆分多個工作表

概述: 打算將工作簿拆分多個工作表,丟擲異常 原因是這個工作簿中有隱藏的工作表,對於Copy操作,它是不能複製隱藏的工作表的,但是Worksheets是所有工作表的集合(自然有隱藏工作表) 最後的解

Android Studio 執行錯誤總結

我們在使用Android Studio執行別人的專案時,總是遇到各種奇葩的錯誤,現在我就將我遇到的錯誤進行總結下,這個部落格會陸續更新! 報這個錯誤的原因就是就是你的gradle檔案有問題 找一個正常的執行專案,將disstributionUrl 替換掉就可以,

redis 在Windows下的安裝及基本操作更新~~~

有用 redis 安裝 abc nbsp com inux eas pan 安裝目錄 Redis 安裝 Window 下安裝 下載地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。這個需

《深入理解Java虛擬機:JVM高級屬性與最佳實踐》讀書筆記更新

pen 內存區域 深度 span 進化 ria 最短 描述 core 第一章:走進Java 概述 Java技術體系 Java發展史 Java虛擬機發展史 1996年 JDK1.0,出現Sun Classic VM HotSpot VM, 它是 Sun JDK 和 Open

linux常用命令匯總更新...

文本查看 ... lan 指定 編輯命令 顯示 查看文件內容 屏幕 一個 文本查看與編輯 1、文本編輯命令 vi/vim 2、查看文件內容命令 命令 說明 命令格式 參數 cat 將一個文件的內容連續輸出在屏幕上 cat [-option] 文件名 -n:將行號

Office 的各種小tips更新

pan lan tex 編號 裁剪 com 文獻 ffice text 1、Word 中打字輸入會擦掉之後原有字符,出現“吃字”的情況? 要將“改寫”切換為“插入”,最簡單的方法就是點擊鍵盤上小鍵

Vue-小demo、小效果 合集更新...

lin auto isa hover json () add ole bce (騰訊課堂學習小demo:https://ke.qq.com/course/256052) 一、簡單的指令應用 ——打擊滅火器 圖片素材點擊騰訊課堂的鏈接獲取 html: 1 &

網絡編程更新

體系 mis connect 這就是 網絡編程 只需要 能開 直接 組織 軟件開發架構 C/S架構 主從式架構 (英語:Client–server model) 也稱客戶端-服務器(Client/Server)架構、C/S架構,是一種網絡架構,它把客戶端 (Client)

藍橋杯單片機知識匯總更新

藍橋杯 del 轉換 art oat 進制 ecb 序列 數碼 藍橋杯知識匯總 1.數碼管 段碼顯示 uchar code display[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0