<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Replicate: Oracle to SQL Violation of PRIMARY KEY Constraint in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Oracle-to-SQL-Violation-of-PRIMARY-KEY-Constraint/ta-p/2532003</link>
    <description>&lt;P&gt;Oracle to SQL Violation of PRIMARY KEY constraint.&amp;nbsp;During full load, table is suspended due to Primary Key Violation.&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;[TARGET_LOAD &amp;nbsp; &amp;nbsp; ]E: &amp;nbsp;RetCode: SQL_SUCCESS &amp;nbsp;SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'SERVICE_SYS_C001817631'. Cannot insert duplicate key in object 'dbo.SERVICE'. The duplicate key value is (G2190)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;00010944: 2025-06-16T10:35:15 [TASK_MANAGER &amp;nbsp; &amp;nbsp;]W: &amp;nbsp;Table 'dbo'.'SERVICE' (subtask 1 thread 1) is suspended. RetCode: SQL_SUCCESS &amp;nbsp;SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'SERVICE_SYS_C001817631'. Cannot insert duplicate key in object 'dbo.SERVICE'. The duplicate key value is (G2190).; Failed to commit 10000 rows to target 'dbo.SERVICE' &amp;nbsp;(replicationtask.c:3239)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This could be a classic capitalization issue between Oracle source to SQL target&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;CREATE TABLE adam.products (&lt;BR /&gt;product_sku VARCHAR2(50) NOT NULL,&lt;BR /&gt;product_name VARCHAR2(255) NOT NULL,&lt;BR /&gt;price NUMBER(10, 2),&lt;BR /&gt;CONSTRAINT products_pk PRIMARY KEY (product_sku)&lt;BR /&gt;);&lt;/PRE&gt;
&lt;P&gt;Then insert 2 identical records except for their capitalizations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Insert the first row with a &lt;STRONG&gt;lowercase&lt;/STRONG&gt; PK.
&lt;PRE class="ckeditor_codeblock"&gt;INSERT INTO adam.products (product_sku, product_name, price)&lt;BR /&gt;VALUES ('key-logi-mx-m', 'Logitech MX Keys Mechanical (&lt;STRONG&gt;lowercase&lt;/STRONG&gt; sku)', 169.00);&lt;/PRE&gt;
&lt;/LI&gt;
&lt;LI&gt;Insert the second row with an &lt;STRONG&gt;uppercase&lt;/STRONG&gt; PK&lt;/LI&gt;
&lt;LI&gt;This is also a simple, standard insert. It will success.&lt;BR /&gt;
&lt;PRE class="ckeditor_codeblock"&gt;INSERT INTO adam.products (product_sku, product_name, price)&lt;BR /&gt;VALUES ('KEY-LOGI-MX-M', 'Logitech MX Keys Mechanical (&lt;STRONG&gt;UPPERCASE&lt;/STRONG&gt; SKU)', 169.00);&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Now, since Oracle is case-sensitive and the default installation of SQL Server is case-insensitive, it is a duplicate in SQL.&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;RetCode: SQL_SUCCESS SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'PRODUCTS_PRODUCTS_PK'. Cannot insert duplicate key in object 'ADAM.PRODUCTS'. The duplicate key value is (KEY-LOGI-MX-M). [1022510] (sqlserver_endpoint_imp.c:5764)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause&lt;/FONT&gt; &lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;It is changeable, by &lt;STRONG&gt;ALTER&lt;/STRONG&gt; table on target.&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;ALTER TABLE ADAM.Products&lt;BR /&gt;ALTER COLUMN product_sku VARCHAR(50) COLLATE Latin1_General_CS_AS NOT NULL;&lt;/PRE&gt;
&lt;P&gt;For Replicate , you would have to:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;ALTER table on SQL target.&lt;/LI&gt;
&lt;LI&gt;Set task to truncate on full load.&lt;/LI&gt;
&lt;LI&gt;Reload table.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;LI-PRODUCT title="Qlik Replicate" id="qlikReplicate"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 29 Sep 2025 05:45:31 GMT</pubDate>
    <dc:creator>Xiaodi_Shi</dc:creator>
    <dc:date>2025-09-29T05:45:31Z</dc:date>
    <item>
      <title>Qlik Replicate: Oracle to SQL Violation of PRIMARY KEY Constraint</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Oracle-to-SQL-Violation-of-PRIMARY-KEY-Constraint/ta-p/2532003</link>
      <description>&lt;P&gt;Oracle to SQL Violation of PRIMARY KEY constraint.&amp;nbsp;During full load, table is suspended due to Primary Key Violation.&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;[TARGET_LOAD &amp;nbsp; &amp;nbsp; ]E: &amp;nbsp;RetCode: SQL_SUCCESS &amp;nbsp;SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'SERVICE_SYS_C001817631'. Cannot insert duplicate key in object 'dbo.SERVICE'. The duplicate key value is (G2190)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;00010944: 2025-06-16T10:35:15 [TASK_MANAGER &amp;nbsp; &amp;nbsp;]W: &amp;nbsp;Table 'dbo'.'SERVICE' (subtask 1 thread 1) is suspended. RetCode: SQL_SUCCESS &amp;nbsp;SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'SERVICE_SYS_C001817631'. Cannot insert duplicate key in object 'dbo.SERVICE'. The duplicate key value is (G2190).; Failed to commit 10000 rows to target 'dbo.SERVICE' &amp;nbsp;(replicationtask.c:3239)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This could be a classic capitalization issue between Oracle source to SQL target&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;CREATE TABLE adam.products (&lt;BR /&gt;product_sku VARCHAR2(50) NOT NULL,&lt;BR /&gt;product_name VARCHAR2(255) NOT NULL,&lt;BR /&gt;price NUMBER(10, 2),&lt;BR /&gt;CONSTRAINT products_pk PRIMARY KEY (product_sku)&lt;BR /&gt;);&lt;/PRE&gt;
&lt;P&gt;Then insert 2 identical records except for their capitalizations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Insert the first row with a &lt;STRONG&gt;lowercase&lt;/STRONG&gt; PK.
&lt;PRE class="ckeditor_codeblock"&gt;INSERT INTO adam.products (product_sku, product_name, price)&lt;BR /&gt;VALUES ('key-logi-mx-m', 'Logitech MX Keys Mechanical (&lt;STRONG&gt;lowercase&lt;/STRONG&gt; sku)', 169.00);&lt;/PRE&gt;
&lt;/LI&gt;
&lt;LI&gt;Insert the second row with an &lt;STRONG&gt;uppercase&lt;/STRONG&gt; PK&lt;/LI&gt;
&lt;LI&gt;This is also a simple, standard insert. It will success.&lt;BR /&gt;
&lt;PRE class="ckeditor_codeblock"&gt;INSERT INTO adam.products (product_sku, product_name, price)&lt;BR /&gt;VALUES ('KEY-LOGI-MX-M', 'Logitech MX Keys Mechanical (&lt;STRONG&gt;UPPERCASE&lt;/STRONG&gt; SKU)', 169.00);&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Now, since Oracle is case-sensitive and the default installation of SQL Server is case-insensitive, it is a duplicate in SQL.&lt;/P&gt;
&lt;P style="padding-left: 40px;"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;RetCode: SQL_SUCCESS SqlState: 23000 NativeError: 2627 Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'PRODUCTS_PRODUCTS_PK'. Cannot insert duplicate key in object 'ADAM.PRODUCTS'. The duplicate key value is (KEY-LOGI-MX-M). [1022510] (sqlserver_endpoint_imp.c:5764)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause&lt;/FONT&gt; &lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;It is changeable, by &lt;STRONG&gt;ALTER&lt;/STRONG&gt; table on target.&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;ALTER TABLE ADAM.Products&lt;BR /&gt;ALTER COLUMN product_sku VARCHAR(50) COLLATE Latin1_General_CS_AS NOT NULL;&lt;/PRE&gt;
&lt;P&gt;For Replicate , you would have to:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;ALTER table on SQL target.&lt;/LI&gt;
&lt;LI&gt;Set task to truncate on full load.&lt;/LI&gt;
&lt;LI&gt;Reload table.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;&lt;LI-PRODUCT title="Qlik Replicate" id="qlikReplicate"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Sep 2025 05:45:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Oracle-to-SQL-Violation-of-PRIMARY-KEY-Constraint/ta-p/2532003</guid>
      <dc:creator>Xiaodi_Shi</dc:creator>
      <dc:date>2025-09-29T05:45:31Z</dc:date>
    </item>
  </channel>
</rss>

