當前位置:首頁 » 數據倉庫 » kettle插入資料庫失敗
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

kettle插入資料庫失敗

發布時間: 2022-05-31 16:32:28

『壹』 邊界伺服器上用spoon鏈接oracle資料庫,報The Network Adapter could not establish the connection錯誤

請按如過程檢查:

1 伺服器,可否正常登錄資料庫並查詢數據sqlplus
2 伺服器上 用sqlplus user/pwd@orcl 的方式能否登錄?
3 伺服器的防火牆是否開著,是否沒有為oracle調整過
4 客戶端用oracle sql developer 連接時,地址,埠,資料庫實例名,用戶名,密碼,是否都正確?
5 對於使用oci連接(pl/sql developer、toad等)的客戶端,本地網路服務名 (tnsnames.ora中的配置內容)配置的內容是否正確

『貳』 使用kettle工具時,將excel表格中的數據導入到oracle資料庫時,輸出項出錯。

使用kettle工具時,將excel表格中的數據導入到oracle資料庫時,輸出項出錯。
數據大小超出此類型的最大值:3759 十進制數值的縮放導致數據截斷

『叄』 抽取數據中有逗號+說+kettle會報錯+怎麼處理

摘要 親你好,執行後,報錯‍ORA-00904,「XX」標識符無效,其中的XX不是表輸出中標的欄位,即源資料庫比目標資料庫新增加了欄位,故插入失敗報錯。

『肆』 錯誤連接資料庫 [kettletest1] : Error connecting to database: (using class org.gjt.mm.mysql.Driver)

A Database Error Occurred 一個資料庫錯誤發生Unable to connect to your database server using the provided settings.不能用提供的設置連接到你的資料庫伺服器Filename: core/Loader.php文件名 core/Loader.phpLine Number: 260線路: 260

『伍』 kettle spoon連接資料庫異常

連接字元串可能不對。
1 檢查資料庫的監聽是否正常
2 如果監聽正常查看本地配置的tnsname是否正確

『陸』 linux環境kettle連接不了資料庫資源庫

首先感謝樓上兩位大神的回答,再說一下問題的錯誤原因:
1、是因為這部署kettle的這台伺服器上沒有MySQL的客戶端,所以根本無法訪問到資料庫,太疏忽了。。。
2、接下來換了一台裝有MySQL客戶端的伺服器,進行部署。也是有問題,是由於我創建的資源庫用戶沒有許可權訪問那台資料庫(只開通了外網連接許可權,未開通localhost許可權)
---賦予許可權(外網)
grant all on lisnew.* to ods_rep@"%" identified by 'ods_rep';
---賦予許可權(內網/本地)
grant all privileges on . to ods_rep@localhost identified by 'ods_rep';
【注】:ods_rep用戶為資源庫用戶,命令含義可在網路查詢

『柒』 使用kettle獲取資料庫的欄位時會報錯,錯誤信息如下,求高手解答

在PB開發過程中,由於資料庫中使用了 ntext欄位,出現以下提示錯誤,郁悶了很長時間找不到解決方案,後查閱大量資料,終於明白:PB報錯: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本將 ntext 數據或僅使用 Unicode 排序規則的 Unicode 數據發送到客戶端。————————————————由於sql server中,ntext和nvarchar欄位是用unicode編碼存儲內容的,因此php通過mssql擴展讀取帶ntext和nvarchar類型欄位的時候會抱錯。 如果 title 欄位類型為 nvarchar,content 欄位類型為 ntext ,那麼下面的sql語句會報錯:select title,content from article 正確的寫法是:select convert(varchar(255),title) as title, convert(text,content) as content from article 或者不使用ntext欄位這個很受用,解決我的難題!

『捌』 kettle表輸入完成但是插入更新一直沒反應

如果不修改,默認的格式是「常規」,會導致原本以文本格式儲存的數字、或者日期格式的內容等出現錯亂。比如原來如果是0001的內容,會自動被辨識為1,原來的日期可能會變成五位數字。最好還是根據各個列的值設定一下屬性。

『玖』 kettle怎樣連接資料庫連接

java調用kettle資料庫類型資源庫中的ktr此問題在1個月前或許已經接觸,單是一直木有怎麼用到,就被耽擱至今;問題的解決要來源於網路,其實我還想說問題的解決的是要靠我們自己的思想,不過多的言情,我們接下來直接進入主題吧!環境:kettle-spoon4.2.0,oracle11g,myeclipse6.5,sqlserver2008前提:在kettle圖形界面spoon裡面已經做好了一個ktr轉換模型,此時我的ktr信息如下圖:Step1:在myeclipse創建project,導入kettle集成所需要的包Step2:重點解析與code源碼//定義ktr名字privatestaticStringtransName="test1";//初始化kettle環境KettleEnvironment.init();//創建資源庫對象,此時的對象還是一個空對象=newKettleDatabaseRepository();//創建資源庫資料庫對象,類似我們在spoon裡面創建資源庫DatabaseMetadataMeta=newDatabaseMeta("enfo_bi","Oracle","Native","ip","sid","port","username","password");//資源庫元對象,名稱參數,id參數,描述等可以隨便定義=("enfo_bi","enfo_bi","kingdescription",dataMeta);//給資源庫賦值repository.init(kettleDatabaseMeta);//連接資源庫repository.connect("admin","admin");//根據變數查找到模型所在的目錄對象=repository.findDirectory("/enfo_worker/wxj");//創建ktr元對象TransMetatransformationMeta=((Repository)repository).loadTransformation(transName,directory,null,true,null);//創建ktrTranstrans=newTrans(transformationMeta);//執行ktrtrans.execute(null);//等待執行完畢trans.waitUntilFinished();上面的兩個步驟才可以確定是資源庫中的那個路徑下的ktr和我們用命令執行一樣的-dir,-tran-job附上源碼:packagekettle;importorg.pentaho.di.core.KettleEnvironment;importorg.pentaho.di.core.database.DatabaseMeta;importorg.pentaho.di.core.exception.KettleException;importorg.pentaho.di.repository.Repository;importorg.pentaho.di.repository.RepositoryDirectoryInterface;importorg.pentaho.di.repository.kdr.KettleDatabaseRepository;importorg.pentaho.di.repository.kdr.KettleDatabaseRepositoryMeta;importorg.pentaho.di.trans.Trans;importorg.pentaho.di.trans.TransMeta;/***Title:java調用kettle4.2資料庫型資料庫中的轉換*Description:*Copyright:Copyright()2012*/{privatestaticStringtransName="test1";publicstaticvoidmain(String[]args){try{//初始化kettle環境KettleEnvironment.init();//創建資源庫對象,此時的對象還是一個空對象=newKettleDatabaseRepository();//創建資源庫資料庫對象,類似我們在spoon裡面創建資源庫DatabaseMetadataMeta=newDatabaseMeta("enfo_bi","Oracle","Native","ip","sid","port","username","password");//資源庫元對象,名稱參數,id參數,描述等可以隨便定義=("enfo_bi","enfo_bi","kingdescription",dataMeta);//給資源庫賦值repository.init(kettleDatabaseMeta);//連接資源庫repository.connect("admin","admin");//根據變數查找到模型所在的目錄對象,此步驟很重要。=repository.findDirectory("/enfo_worker/wxj");//創建ktr元對象TransMetatransformationMeta=((Repository)repository).loadTransformation(transName,directory,null,true,null);//創建ktrTranstrans=newTrans(transformationMeta);//執行ktrtrans.execute(null);//等待執行完畢trans.waitUntilFinished();if(trans.getErrors()>0){System.err.println("TransformationrunFailure!");}else{System.out.println("Transformationrunsuccessfully!");}}catch(KettleExceptione){e.printStackTrace();}}}

『拾』 使用kettle向mysql插入數據~ 每秒10條...應該是mysql的問題。有誰知道怎麼能提高效率么~

如果你用的是INNODB資料庫,有一個最簡單有效的調整,就是將INI文件裡面的下面參數調整:
原始:
innodb_flush_log_at_trx_commit=1
調整為:
innodb_flush_log_at_trx_commit=2
具體什麼意思就不解釋了,試了效果好再去找度娘