Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Fehlerbehebung bei CUIC-Synchronisierungsproblemen mit UCCE

Einführung

In diesem Dokument wird beschrieben, wie CSCvd10535 auf eine mögliche Weise behoben wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:

- Cisco Unified Intelligence Center (CUIC)

- Cisco Unified Contact Center Enterprise (UCCE)

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:

- CUIC 11.5

- UCCE 11,5

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Hintergrundinformationen

Wenn Sie diesen Fehler bei der UCCE-Synchronisierung (Operation, Administration and Management, OAMP) von CUIC erhalten, erklärt dieses Dokument eine Möglichkeit, diesen Fehler zu beheben.

"doBulkInsert für Supervisor fehlgeschlagen: SQLException: Neue Zeile konnte nicht eingefügt werden - doppelter Wert in einer UNIQUE INDEX-Spalte (Unique Index:). "

Fehlerbehebung bei CUIC-Synchronisierungsproblemen mit UCCE

Sie können dies in CUIC-Protokollen sehen:

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)

Erfassen Sie Ausgaben dieser Befehle:

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

Führen Sie diese Abfrage aus, um den Namen/die ID des Benutzers zu ermitteln, den Sie aus der CUIC-Benutzeroberfläche entfernen möchten:

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

Benutzer-ID sieht wie folgt aus:

6FD44DB6100001620010065A0AFA1438

Sobald Sie die ID haben, können Sie diese Abfragen für den Benutzer ausführen und den Teil "<userId>" durch die ID ersetzen, die Sie im vorherigen Befehl gefunden haben:

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

In diesem Beispiel wurden 11 Benutzer gefunden, die nicht gelöscht werden konnten.

Suchen Sie in dieser Abfrage die ID des CUIC Admin-Kontos:

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

In der Regel handelt es sich um Folgendes:

1111111111111111111111111111AAAA

Führen Sie diese Abfragen aus, um das Eigentum der Objekte zu übernehmen:

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'))

Wenn die Benutzer Ordner erstellen, können Sie diese auch aus der CUIC-Benutzeroberfläche entfernen.

Sie können auch die Funktion "Run As" (Ausführen als) verwenden und bestimmte Berichte von innen entfernen.