問題:人員及部門資料匯入時,為什麼無法正常匯入呢?

原因及解決方案

可能原因入下:

  1. 欄位名稱錯誤
    匯入檔文字:
    編號,姓名,卡號,部門編
    001,TQUARK,,001

    錯誤訊息:
    Begin Job OGTestDataImport
    來源人員資料缺少[部門編號]欄位
    Finish Job OGTestDataImport

  2. 資料欄位多於檔頭欄位
    匯入檔文字:
    編號,姓名,卡號,部門編號
    001,TQUARK,,001,,,,,,,,,,,

    錯誤訊息:
    Begin Job OGTestDataImport
    Fail Job OGTestDataImport
    於 TQuark.Lib.Data.DataFileToDataTableBase.ImportRow(DataRow row, IEnumerable datas, ImportingStatusBase importingStatus) 於 TQuark.Lib.Data.TabularTextFileToDataTable.ImportRow(DataRow row, String lineData, ImportingStatus importingStatus) 於 TQuark.Lib.Data.TabularTextFileToDataTable.Import(DataTable dataTable, String fileName, ImportParameter importParameter) 於 TQuark.OG.DataTransfer.OGCheckHelp.ImportTextFile(DataTable dataTable, String FileName) 於 TQuark.OG.DataTransfer.OGCheckHelp.CheckSourceEmpCSVNullData(DataTable EmpDataTable, String EmpFileName) 於 TQuark.OG.DataTransfer.OGCheckHelp.CheckBeforeDTSImport(DataTable EmpDataTable, String EmpFileName, StringCollection m_ProcessMessage, DataTable DeptDataTable, String DeptFileName) 於 TQuark.OG.DataTransfer.OGTestDataImportNonDTS._Execute(Object jobId, Object parameter) 於 TQuark.Lib.Core.BatchJob.BatchJob.Execute(Object jobId, Object parameter) 於 TQuark.OG.PlugInBase.ScheduleHelp.ExecuteTask(IDbConnection connection, JobType jobType, OGJobInvokeParam param, StringCollection& msg, IFunctionDispatchManager functionDispatchManager)索引在陣列的界限之外。

    如果欄位值中有逗號,因CSV是以逗號為欄位的區隔,會導致欄位解析錯誤。
    例如部門名稱內有逗號,如:嘉因資訊(tw,cn),系統會將他分成2個欄位,請在部門名稱前後加雙引號如:"嘉因資訊(tw,cn) ",即可。

  3. 最後一個欄位有多餘很多空白

    錯誤訊息:
    Begin Job OGDataImport
    Fail Job OGDataImport
    於 System.Data.DataColumn.CheckMaxLength(DataRow dr) 於 System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent) 於 System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException) 於 System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent) 於 System.Data.DataRowCollection.Add(DataRow row) 於 TQuark.OG.DataTransfer.OGDTSHelp.TransformDataTable(Object TaskPK, IDbConnection Connection, DataTable SourceDataTable, DataTable DestinationDataTable) 於 TQuark.OG.DataTransfer.OGDataImportBase.CommitToDbTempTable(IDBTransactionControl TransactionControl) 於 TQuark.OG.DataTransfer.OGDataImportNonDTS._Execute(Object jobId, Object parameter) 於 TQuark.Lib.Core.BatchJob.BatchJob.Execute(Object jobId, Object parameter) 於 TQuark.OG.PlugInBase.ScheduleHelp.ExecuteTask(IDbConnection connection, JobType jobType, OGJobInvokeParam param, StringCollection& msg, IFunctionDispatchManager functionDispatchManager)無法設定資料行 't_DeptNo'。該值違反了這個資料行的 MaxLength 限制。

最終審定

最後檢閱日期:2018/01/11
適用門將版本號:2.0含以上
問題編號:2015091514