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
做好以上三點,應該就沒事了
問題三:補丁問題
error calling subroutine :DSR_EXECJOB (action=5)
重建客戶端或許有用,把之前說有練過的客戶端重新安裝一遍!!!注意解除安裝的時候記得刪除登錄檔!具體詳見網址:http://www-01.ibm.com/support/docview.wss?uid=swg21456615 但是我安裝上面刪除了登錄檔之後客戶端的DB2無法啟動了, 報錯如下
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