Kettle Unable to get list of element types for namespace 'pentaho'
我把公司的kettle5.0升級到7.0之後遇到了這個問題,困擾了很久,百度谷歌都查不到結果,所以只能自己查詢原因。
由於已經被搞好了,現在無法截圖了,總之就是下面這行報錯,遇到這個錯誤的同學估計也不需要看截圖就明白:
Unable to get list of element types for namespace 'pentaho'
點開Detail裡面,會看到是由於下面一句SQL程式碼導致的,
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
An error occurred executing SQL:
SELECT ID_NAMESPACE FROM R_NAMESPACE WHERE NAME = ?
The data types text and nvarchar are incompatible in the equal to operator.
既然是SQL,那麼我把下面一句程式碼放進對應的DB查詢一下,會發現在query裡面的錯誤和上面一樣,都是:
The data types text and nvarchar are incompatible in the equal to operator./在等號操作符中,文字和nvarchar資料型別是不相容的。
也就是說上面的‘?’是nvarchar型別,而NAME欄位是text型別導致這個錯誤,我們確認一下:
執行下面這句
sp_help R_NAMESPACE
能看到NAME欄位的type是text(這裡我已經改過了,原本是text,所以加了個註釋)。
看到這裡答案就很簡單了,
直接ALTER TABLE R_NAMESPACE ALTER COLUMN NAME varchar(2000)
然後再測試,一切OK。