目錄

簡介

必要條件

需求

採用元件

背景資訊

使用UCCE排除CUIC同步問題

簡介

本檔案介紹如何以一種可能的方式修正CSCvd10535。

必要條件

需求

思科建議您瞭解以下主題：

- 思科整合情報中心(CUIC)

- Cisco Unified Contact Center Enterprise(UCCE)

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- CUIC 11.5

- UCCE 11.5

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

根據錯誤，如果您在CUIC的操作、管理和管理(OAMP)UCCE同步中收到此錯誤，本文檔將介紹修復此錯誤的一種方法

"Supervisor的doBulkInsert失敗：SQLException:無法在UNIQUE INDEX列(Unique Index:)中插入新行 — 重複值。 "

使用UCCE排除CUIC同步問題

您可以在CUIC日誌中看到以下內容：

0000019503: 10.250.20.56: Aug 28 2019 14:26:19.232 -0700: %CCBU__CUIC_SECURITY-3-EXCEPTION_INFO: %[build_date=Jan 17, 1970 5:01 PM][build_type=rel][exception=java.sql.SQLException: Unique constraint (informix.u121_108) violated.

at com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3176)

at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3458)

at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2369)

at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2294)

at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:871)

at com.informix.jdbc.IfxResultSet.executeUpdate(IfxResultSet.java:290)

at com.informix.jdbc.IfxStatement.executeUpdateImpl(IfxStatement.java:1107)

at com.informix.jdbc.IfxStatement.executeUpdateBody(IfxStatement.java:381)

at com.informix.jdbc.IfxStatement.executeUpdate(IfxStatement.java:269)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)

at com.cisco.ccbu.cuic.businesslogic.usersync.bulkinsert.CuicUserSyncBulkInsertSupervisors.doBulkInsert(CuicUserSyncBulkInsertSupervisors.java:212)

at com.cisco.ccbu.cuic.businesslogic.usersync.CuicUserSyncProcessingCenterWorkerRunnable.run(CuicUserSyncProcessingCenterWorkerRunnable.java:108)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.sql.SQLException: ISAM error: duplicate value for a record with unique key.

at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408)

at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3463)

收集以下命令的輸出：

run sql select id, name, samaccountname from cuic_data:cuicuser where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%'

run sql update cuic_data:cuicuser set samaccountname=name where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%

run sql select name, description, alias from cuic_data:cuicuser order by description

運行此查詢可查詢您嘗試從CUIC UI中刪除的使用者的名稱/ID:

run sql select id, name, description from cuic_data:cuicuser

使用者ID如下所示：

6FD44DB6100001620010065A0AFA1438

一旦您擁有了ID，就可以為使用者運行這些查詢，並用在前面命令中找到的ID替換「<userId>」部分：

run sql select Id, ScheduledreportName from cuic_data:cuicScheduledReports where UserId = '<userId>'

run sql select Id, name from cuic_data:cuicCategory where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicDashboard where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicReportDefinition where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicReport where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicDatasource where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicValueList where Owner = '<userId>'

run sql select Id, name from cuic_data:cuicCollection where Owner = '<userId>' and ValueListId is not null

在此示例中，找到11個無法刪除的使用者。

從此查詢中查詢CUIC管理員帳戶的ID:

run sql select id, name, description from cuic_data:cuicuser

通常如此：

1111111111111111111111111111AAAA

運行以下查詢以獲取對象的所有權：

run sql update cuic_data:cuicreport set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))

run sql select id,name from cuic_data:cuicscheduledreports where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))

run sql update cuic_data:cuiccategory set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))

run sql update cuic_data:cuicdashboard set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))

run sql update cuic_data:cuicscheduledreports set userid = '1111111111111111111111111111AAAA' where userid in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))

如果使用者建立了任何資料夾，您也可以從CUIC UI中刪除這些資料夾。

您還可以使用「運行方式」功能並從中刪除特定報告。