資料庫-多步操作產生錯誤,請檢查每一步的狀態值
問題描述:在進行資料遷移過程中報的錯,百度也找不到準確答案,哎,自己摸索吧
--按照id排序,匯入成功4045條資料,後面就報錯:多步操作產生錯誤,請檢查每一步的狀態值
[DSRzhizhi]
OrgDBName=zhizhilaoxitong
OrgTable=TC_DUD_PARTY
TarDBName=zhengshi
TarTable=T_XZ_PARTY
IsValid=1
IsTime=
OrgSign=
TarSign=
sGetSQL=select id,caseid,partytypeid,name,personid,sex,birthday,contact,address,diploma,partyrace,driverlicensetypeid,driverlicensedocid,driverlicenseissueoffice,businesslicensetype,businesslicensecode,partyunit,unitaddress,corporation,corperationsex,corperationaddress,corperationcontact,corperationidnumber,updatetime,updateaccountid,state,workunit,workunitaddr,businesslicensetypecontent from TC_DUD_PARTY order by id
sAddSQL=insert into T_XZ_PARTY (PARTY_ID,CASE_ID,party_type,party_name,party_idnum,party_sex,party_birth,party_contno,party_addr,party_edudegree,party_folk,types_driv_license,driver_licenseno,DRIVER_LICENSEISSUE,qc_category,qc_no,company_name,unit_address,legal_name,CORPERATIONSEX,corperationaddress,corperationcontact,corperationidnumber,modify_time,modify_person,ISESCAPE,party_post,unitaddr,businesslicensetypecontent,ZHIDUI,LAOXITONG) Values (:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,2,1)
TbTimeGap=5000
SWhereSQL=
SUpdateSQL=
對欄位型別、長度都進行了對比,沒有什麼問題,難道是日期欄位超出了範圍麼(機智^_^)
於是取4045後面的幾條資料檢查:
select id,
caseid,
partytypeid,
name,
personid,
sex,
birthday,
contact,
address,
diploma,
partyrace,
driverlicensetypeid,
driverlicensedocid,
driverlicenseissueoffice,
businesslicensetype,
businesslicensecode,
partyunit,
unitaddress,
corporation,
corperationsex,
corperationaddress,
corperationcontact,
corperationidnumber,
updatetime,
updateaccountid,
state,
workunit,
workunitaddr,
businesslicensetypecontent
from (
select id,
caseid,
partytypeid,
name,
personid,
sex,
birthday,
contact,
address,
diploma,
partyrace,
driverlicensetypeid,
driverlicensedocid,
driverlicenseissueoffice,
businesslicensetype,
businesslicensecode,
partyunit,
unitaddress,
corporation,
corperationsex,
corperationaddress,
corperationcontact,
corperationidnumber,
updatetime,
updateaccountid,
state,
workunit,
workunitaddr,
businesslicensetypecontent,
row_number() over(order by id) rn
from TC_DUD_PARTY
order by id) where rn between 4044 and 4048
果然發現問題,birthday這個欄位值不對,隨便查詢下就查出了許多錯誤的資料
1900年到現在已經118歲了,應該足夠了,小於1900年的都屬於髒資料,所以查詢的時候要進行過濾
where t.birthday >= to_date('1900/1/1 00:00:00', 'yyyy-MM-dd HH24:mi:ss')
select id,
caseid,
partytypeid,
name,
personid,
sex,
birthday,
contact,
address,
diploma,
partyrace,
driverlicensetypeid,
driverlicensedocid,
driverlicenseissueoffice,
businesslicensetype,
businesslicensecode,
partyunit,
unitaddress,
corporation,
corperationsex,
corperationaddress,
corperationcontact,
corperationidnumber,
updatetime,
updateaccountid,
state,
workunit,
workunitaddr,
businesslicensetypecontent
from (
select id,
caseid,
partytypeid,
name,
personid,
sex,
birthday,
contact,
address,
diploma,
partyrace,
driverlicensetypeid,
driverlicensedocid,
driverlicenseissueoffice,
businesslicensetype,
businesslicensecode,
partyunit,
unitaddress,
corporation,
corperationsex,
corperationaddress,
corperationcontact,
corperationidnumber,
updatetime,
updateaccountid,
state,
workunit,
workunitaddr,
businesslicensetypecontent,
row_number() over(order by id) rn
from TC_DUD_PARTY t where t.birthday >= to_date('1900/1/1 00:00:00', 'yyyy-MM-dd HH24:mi:ss')
order by id) where rn between 4044 and 4048
最後別忘了對遷移指令碼加上過濾條件:
[DSRzhizhi]
OrgDBName=zhizhilaoxitong
OrgTable=TC_DUD_PARTY
TarDBName=zhengshi
TarTable=T_XZ_PARTY
IsValid=1
IsTime=
OrgSign=
TarSign=
sGetSQL=select id,caseid,partytypeid,name,personid,sex,birthday,contact,address,diploma,partyrace,driverlicensetypeid,driverlicensedocid,driverlicenseissueoffice,businesslicensetype,businesslicensecode,partyunit,unitaddress,corporation,corperationsex,corperationaddress,corperationcontact,corperationidnumber,updatetime,updateaccountid,state,workunit,workunitaddr,businesslicensetypecontent from TC_DUD_PARTY where birthday >= to_date('1900/1/1 00:00:00', 'yyyy-MM-dd HH24:mi:ss') order by id
sAddSQL=insert into T_XZ_PARTY (PARTY_ID,CASE_ID,party_type,party_name,party_idnum,party_sex,party_birth,party_contno,party_addr,party_edudegree,party_folk,types_driv_license,driver_licenseno,DRIVER_LICENSEISSUE,qc_category,qc_no,company_name,unit_address,legal_name,CORPERATIONSEX,corperationaddress,corperationcontact,corperationidnumber,modify_time,modify_person,ISESCAPE,party_post,unitaddr,businesslicensetypecontent,ZHIDUI,LAOXITONG) Values (:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,:s,2,1)
TbTimeGap=5000
SWhereSQL=
SUpdateSQL=
測試OK~~相關文章
- openguass 3.1.0 資料庫啟動,關閉,狀態檢查資料庫
- openguass 資料庫狀態查詢資料庫
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- GBase8s 資料庫檢視狀態資料庫
- 開啟ftp伺服器上的資料夾時發生錯誤,請檢查是否有許可權訪問該資料夾FTP伺服器
- win10 d盤錯誤檢查如何操作_win10 d盤錯誤檢查詳細方法Win10
- PbootCMS登入請求發生錯誤,檢查伺服器環境pathinfo及偽靜態規則配置boot伺服器
- Android Studio 沉浸式狀態列(個人手記)—錯誤資訊請批評Android
- Docker 容器的健康狀態檢查Docker
- 常見MongoDB資料庫操作產生的鎖總結MongoDB資料庫
- Jtti:linux怎麼檢視oracle資料庫的執行狀態JttiLinuxOracle資料庫
- 檢查Capital許可狀態API
- Oracle SCN健康狀態檢查Oracle
- 資訊: 解析 HTTP 請求 header 錯誤 注意:HTTP請求解析錯誤的進一步發生將記錄在DEBUG級別。 java.lang.IllegalArgumentException: 請求頭太大HTTPHeaderJavaException
- 國產資料庫的開源生態之路 | 直播預告資料庫
- 【精益生產】專案管理要避免的錯誤,請引以為戒!專案管理
- ORA-01653錯誤是Oracle資料庫中常見的錯誤Oracle資料庫
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- 查詢資料庫每個表佔用的大小資料庫
- TSPITR方式資料庫找回誤操作丟失的資料資料庫
- 達夢8資料庫的狀態模式資料庫模式
- PbootCMS登入請求發生錯誤boot
- Python 操作 mysql 資料庫,wait_timeout 後報什麼錯誤PythonMySql資料庫AI
- 資料庫報ORA-01839的錯誤資料庫
- MySQL資料庫健康檢查--MySQL巡檢MySql資料庫
- VCS中檢查Cluster中節點的狀態
- 解決 PBootCMS 中因資料庫名稱錯誤導致的“執行 SQL 發生錯誤!錯誤:no such table: ay_config”問題boot資料庫SQL
- 因為我的一個低階錯誤,生產資料庫崩潰了將近半個小時資料庫
- 【應用服務 App Service】App Service發生錯誤請求時,如何檢視IIS Freb日誌,從中得知錯誤所發生的模組,請求中所攜帶的Header資訊APPHeader
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- Oracle DG資料庫狀態轉換Oracle資料庫
- SQL Server DACPAC資料庫部署錯誤SQLServer資料庫
- MSSQL資料庫健康檢查--SQL Server巡檢SQL資料庫Server
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- cmdb 查詢資料庫操作記錄資料庫
- 11G RAC檢查各元件狀態元件
- KubeBlocks完成阿里雲PolarDB資料庫產品生態整合認證BloC阿里資料庫