{"id":7838,"date":"2016-05-04T15:30:52","date_gmt":"2016-05-04T13:30:52","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/"},"modified":"2016-05-04T15:30:52","modified_gmt":"2016-05-04T13:30:52","slug":"attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/","title":{"rendered":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy"},"content":{"rendered":"<p>After the good article <a title=\"A short glance at Attunity\" href=\"http:\/\/dbi-services.com\/blog\/a-short-glance-at-attunity-replicate\/\" target=\"_blank\">\u201cA short glance at Attunity replicate\u201d<\/a> from <a title=\"Franck Pachot \" href=\"http:\/\/dbi-services.com\/blog\/author\/franck-pachot\/\" target=\"_blank\">Franck Pachot<\/a>, I will continue to explain our test on Attunity Replicate with datatype and how this tool do the mapping between Oracle and SQL Server for numeric datatypes.<\/p>\n<h3 style=\"margin: 0in;margin-bottom: .0001pt\">Introduction<\/h3>\n<p>The first step is to find the mapping between Oracle and SQL Server.<br \/>\nI summarize this mapping in this table:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate02.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8491 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate02.png\" alt=\"attunity_replicate02\" width=\"300\" height=\"203\" \/><\/a><\/p>\n<p>As you known (or not), in SQL Server, you have a replication with Oracle directly but this functionality is deprecated<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8490 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01.png\" alt=\"attunity_replicate01\" width=\"300\" height=\"62\" \/><\/a><\/p>\n<p>In the msdn, you have a default data type mapping <a title=\"Default data type mapping - Oracle publisher\" href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms151817.aspx?f=255&amp;MSPPError=-2147217396\" target=\"_blank\">here<\/a>.<br \/>\nFor numeric datatype, the mapping is approximatively the same as above.<br \/>\nTo complete this part, you can also specify alternative data type mapping<a title=\"Alternative data type mapping - Oracle publisher\" href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms152760.aspx%20\" target=\"_blank\"> here<\/a>.<\/p>\n<p>This functionally is deprecated and I decide to find an alternative. I find that Attunity replicate is a good way to replicate from Oracle to SQL Server near real time.<br \/>\nAttunity Replicate has a self-datatype table for the mapping.<br \/>\nIn the user guide from Attunity Replicate, you have the mapping between Oracle and the Attunity Data types.<br \/>\nIf I summarize my previous mapping, I have this mapping:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate03.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8492 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate03.png\" alt=\"attunity_replicate03\" width=\"300\" height=\"271\" \/><\/a><br \/>\nThen next step is to realize the mapping between the Attunity data type and the SQL Server data type, as explained in the user guide.<br \/>\nThe mapping will give us this mapping:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate04.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8493 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate04.png\" alt=\"attunity_replicate04\" width=\"300\" height=\"172\" \/><\/a><br \/>\nOops, I have some \u201cno match\u201d like BIT, TINYINT, BIGINT, DECIMAL, MONEY or SMALLMONEY due to the intermediate Attunity data type mapping<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate05.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8494 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate05.png\" alt=\"attunity_replicate05\" width=\"300\" height=\"174\" \/><\/a><\/p>\n<p>This is the theory, and now let\u2019s go to the practice\u2026<\/p>\n<h3>Create the source &amp; destination connections<\/h3>\n<p>To create the task, follow the blog by Frank <a title=\"A short glance at Attunity\" href=\"http:\/\/dbi-services.com\/blog\/a-short-glance-at-attunity-replicate\/\" target=\"_blank\">here<\/a>.<br \/>\nIn my case, I just change the destination database with a SQL Server connection<br \/>\nAdd SQL Server image<br \/>\nOne thing to not forget is to test the connection with the button on the bottom-left of the connection window<br \/>\nattunity_replicate07.png<\/p>\n<h3>Create the source table and destination table<\/h3>\n<p>With SQL Developer, I create in Oracle a table NUMERIC_DT in the schema OE to have all numerical data types from my example<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">CREATE TABLE OE.NUMERIC_DT \n(\n NUMBER_BIT NUMBER(1),\nNUMBER_TINYINT NUMBER(3),\nNUMBER_SMALLINT NUMBER(5),\nNUMBER_INTEGER NUMBER(10),\nNUMBER_BIGINT NUMBER(19),\nBINARYFLOAT_REAL BINARY_FLOAT,\nBINARYDOUBLE_FLOAT BINARY_DOUBLE,\nFLOAT_FLOAT FLOAT,\nREAL_FLOAT REAL,\nNUMBER_NUMERIC NUMBER(30,20),\nNUMBER_DECIMAL NUMBER(20,10),\nNUMBER_MONEY NUMBER(19,4),\nNUMBER_SMALLMONEY NUMBER(10,4)\n)<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_01.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8515 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_01.png\" alt=\"attunity_01\" width=\"300\" height=\"195\" \/><\/a><\/p>\n<p>With Attunity Replicate, I use the console to replicate my table through the web browser.<br \/>\nThen Select the schema OE in Oracle and now the table NUMERIC_DT.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate10.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8498 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate10.png\" alt=\"attunity_replicate10\" width=\"300\" height=\"192\" \/><\/a><br \/>\nNow, I start the replication with the Run button<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate11.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8499 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate11.png\" alt=\"attunity_replicate11\" width=\"300\" height=\"177\" \/><\/a><br \/>\nThe first action when you start the replication is a Full load.<br \/>\nIn my case I just create the table without data so you have \u201cTransferred count\u201d value set to 0 in the monitoring<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate12.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8500 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate12.png\" alt=\"attunity_replicate12\" width=\"300\" height=\"198\" \/><\/a><br \/>\nI start SSMS to see the table that Attunity created in the SQL Server destination<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate13.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8501 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate13.png\" alt=\"attunity_replicate13\" width=\"300\" height=\"178\" \/><\/a><br \/>\nThe result matches with my theorical table above.<br \/>\nTo have a comparison, my colleague Vincent Matthey do the same test with the tool SQL Server Migration Assistant (SSMA) for Oracle<br \/>\nWith SSMS, we can see the result<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/STH_SQL_Server.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8516 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/STH_SQL_Server.png\" alt=\"STH_SQL_Server\" width=\"300\" height=\"204\" \/><\/a><\/p>\n<p>The result is a little strange\u2026 As you can see, all defined SQL Server integer datatype like TINYINT, SMALLINT, \u2026 are NUMERIC with a scale of 0 to have integer! For example, the NUMBER(1) becomes a numeric(1,0). It is not false but also not right at all!<\/p>\n<h3>Insert Data<\/h3>\n<p>I create a script to put some data in this table, to see if the replication works:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">BEGIN\n  for i in 1..15000\n  loop\n insert into OE.NUMERIC_DT\n(NUMBER_BIT,NUMBER_TINYINT,NUMBER_SMALLINT,NUMBER_INTEGER,NUMBER_BIGINT\n,BINARYFLOAT_REAL,BINARYDOUBLE_FLOAT,FLOAT_FLOAT,REAL_FLOAT,NUMBER_NUMERIC\n,NUMBER_DECIMAL,NUMBER_MONEY,NUMBER_SMALLMONEY)\nVALUES( TRUNC(dbms_random.value(0,1)), \nTRUNC(dbms_random.value(1,255)),\nTRUNC(dbms_random.value(1,32767)),\nTRUNC(dbms_random.value(1,2147483647)),\nTRUNC(dbms_random.value(1,9223372036854775807)),\ndbms_random.value(1,9999999999),\ndbms_random.value(1,9999999999),\ndbms_random.value(1,9223372036854775807),\ndbms_random.value(1,999999999999999999999999999999999999999999999999999999999999),\ndbms_random.value(1,9999999999),\ndbms_random.value(1,9999999999),\ndbms_random.value(1,999999999999999),\ndbms_random.value(1,999999));\nend loop;\n  commit;\n  END;\n<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate14.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8502 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate14.png\" alt=\"attunity_replicate14\" width=\"300\" height=\"156\" \/><\/a><br \/>\nIn the monitoring tool from Attunity, you have a powerful graphical monitoring to see all operations during the replication<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate15.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8503 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate15.png\" alt=\"attunity_replicate15\" width=\"300\" height=\"202\" \/><\/a><br \/>\nTo be sure that the replication has correctly replicated the 15000 rows, I do a select in the SQL Server destination database and I see that I have all rows.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate16.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8504 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate16.png\" alt=\"attunity_replicate16\" width=\"300\" height=\"164\" \/><\/a><\/p>\n<h3>Update data<\/h3>\n<p>Just to see the power of this interface, I run an update on Oracle side of all rows with NUMBER_BIT equals 0:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">UPDATE OE.NUMERIC_DT\nSET NUMBER_BIT=TRUNC(dbms_random.value(0,1)),\nNUMBER_TINYINT=TRUNC(dbms_random.value(0,255)),\nNUMBER_SMALLINT=TRUNC(dbms_random.value(1,32767)),\nNUMBER_INTEGER=TRUNC(dbms_random.value(1,2147483647)),\nNUMBER_BIGINT=TRUNC(dbms_random.value(1,9223372036854775807)),\nBINARYFLOAT_REAL=TRUNC(dbms_random.value(1,9223372036854775807)),\nBINARYDOUBLE_FLOAT=dbms_random.value(1,9999999999),\nFLOAT_FLOAT=dbms_random.value(1,9999999999),\nREAL_FLOAT=dbms_random.value(1,999999999999999999999999999999999999999999999999999999999999),\nNUMBER_NUMERIC=dbms_random.value(1,9999999999),\nNUMBER_DECIMAL=dbms_random.value(1,9999999999),\nNUMBER_MONEY=dbms_random.value(1,9999999999),\nNUMBER_SMALLMONEY=dbms_random.value(1,999999)\nWHERE NUMBER_BIT=0;\nCOMMIT;\n<\/pre>\n<p>You can see that I have in the Oracle source 9986 rows<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate17.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8505 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate17.png\" alt=\"attunity_replicate17\" width=\"300\" height=\"165\" \/><\/a><br \/>\nAnd the same on SQL Server destination<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate18.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8506 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate18.png\" alt=\"attunity_replicate18\" width=\"300\" height=\"136\" \/><\/a><br \/>\nI apply the update\u2026<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate19.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8507 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate19.png\" alt=\"attunity_replicate19\" width=\"300\" height=\"117\" \/><\/a><br \/>\nIn the Attunity monitoring, you can see in the changing Processing that I have 1 transaction in the incoming changes and I can see the latency. In my case, my lab is not set to have good performance\u2026<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate20.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8508 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate20.png\" alt=\"attunity_replicate20\" width=\"300\" height=\"184\" \/><\/a><br \/>\nWhen the transaction is applied on the destination, you can see that the incoming changes has 0 transaction and that the Applied Changes pie has now the update stats.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate21.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8509 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate21.png\" alt=\"attunity_replicate21\" width=\"300\" height=\"173\" \/><\/a><\/p>\n<p>As you can see, the monitoring interface is very powerful!<br \/>\nAnd in live, it is even better \ud83d\ude09<\/p>\n<h3>Delete data<\/h3>\n<p>The last command to test is the delete command<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">DELETE FROM OE.NUMERIC_DT WHERE NUMBER_BIT=0;\nCOMMIT; \n<\/pre>\n<p>After this command, with the monitoring interface, you can see the 3 commands:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate23.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-8511 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate23.png\" alt=\"attunity_replicate23\" width=\"300\" height=\"174\" \/><\/a><br \/>\nAnd in the destination database, you can see that the delete was applied.<\/p>\n<h3>Conclusion<\/h3>\n<p>This tool is very good for a replication between heterogeneous database systems.<br \/>\nThe creation of a staging database on the SQL Server destination from an Oracle source is very simple to deploy and use, as you can see.<br \/>\nFinally, if you are interested by this blog and see more, I invite you to come in our <a title=\"Replication event\" href=\"\/\/www.dbi-services.com\/news-en\/replication-event-2\/\" target=\"_blank\">free Event \u201cReplication road show<\/a>\u201d who <a title=\"Vincent Matthey\" href=\"http:\/\/dbi-services.com\/blog\/author\/vincent-matthey\/\" target=\"_blank\">Vincent Matthey<\/a>,<a title=\"David Barbarin\" href=\"http:\/\/dbi-services.com\/blog\/author\/david-barbarin\/\" target=\"_blank\"> David Barbarin<\/a> and I, will present the replication between Oracle and SQL Server with Attunity Replicate and complete this demo with also change on DDL command like change a data type on a column or add a calculated column, etc.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After the good article \u201cA short glance at Attunity replicate\u201d from Franck Pachot, I will continue to explain our test on Attunity Replicate with datatype and how this tool do the mapping between Oracle and SQL Server for numeric datatypes. Introduction The first step is to find the mapping between Oracle and SQL Server. I [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":7859,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[49,96,301,51,52],"type_dbi":[],"class_list":["post-7838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-integration-middleware","tag-microsoft","tag-oracle","tag-replication","tag-sql-server","tag-sql-server-2014"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy\" \/>\n<meta property=\"og:description\" content=\"After the good article \u201cA short glance at Attunity replicate\u201d from Franck Pachot, I will continue to explain our test on Attunity Replicate with datatype and how this tool do the mapping between Oracle and SQL Server for numeric datatypes. Introduction The first step is to find the mapping between Oracle and SQL Server. I [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-04T13:30:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"882\" \/>\n\t<meta property=\"og:image:height\" content=\"183\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Haby\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Haby\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"headline\":\"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy\",\"datePublished\":\"2016-05-04T13:30:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/\"},\"wordCount\":854,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/attunity_replicate01-1.png\",\"keywords\":[\"Microsoft\",\"Oracle\",\"Replication\",\"SQL Server\",\"SQL Server 2014\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/\",\"name\":\"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/attunity_replicate01-1.png\",\"datePublished\":\"2016-05-04T13:30:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/attunity_replicate01-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/attunity_replicate01-1.png\",\"width\":882,\"height\":183},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \\\/ Financial Services, and many other industries.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/stephane-haby\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/","og_locale":"en_US","og_type":"article","og_title":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy","og_description":"After the good article \u201cA short glance at Attunity replicate\u201d from Franck Pachot, I will continue to explain our test on Attunity Replicate with datatype and how this tool do the mapping between Oracle and SQL Server for numeric datatypes. Introduction The first step is to find the mapping between Oracle and SQL Server. I [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/","og_site_name":"dbi Blog","article_published_time":"2016-05-04T13:30:52+00:00","og_image":[{"width":882,"height":183,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"headline":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy","datePublished":"2016-05-04T13:30:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/"},"wordCount":854,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png","keywords":["Microsoft","Oracle","Replication","SQL Server","SQL Server 2014"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/","url":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/","name":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png","datePublished":"2016-05-04T13:30:52+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/attunity_replicate01-1.png","width":882,"height":183},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/attunity-replicate-replicate-numeric-data-types-from-oracle-to-sql-server-is-easy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Attunity Replicate: Replicate numeric data types from Oracle to SQL Server is easy"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/7838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=7838"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/7838\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/7859"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=7838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=7838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=7838"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=7838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}