{"id":15892,"date":"2022-06-06T15:21:50","date_gmt":"2022-06-06T19:21:50","guid":{"rendered":"https:\/\/www.iri.com\/blog\/?p=15892"},"modified":"2022-06-06T17:28:34","modified_gmt":"2022-06-06T21:28:34","slug":"mapping-db-data-types","status":"publish","type":"post","link":"https:\/\/www.iri.com\/blog\/migration\/data-migration\/mapping-db-data-types\/","title":{"rendered":"Mapping DB Data Types"},"content":{"rendered":"<p><i><span style=\"font-weight: 400;\">Abstract: The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in <\/span><\/i><a href=\"https:\/\/www.iri.com\/products\/workbench\"><i><span style=\"font-weight: 400;\">IRI Workbench<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> to help solve this problem for <\/span><\/i><a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\"><i><span style=\"font-weight: 400;\">SortCL<\/span><\/i><\/a><i><span style=\"font-weight: 400;\">-driven data management jobs with different sources and targets.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">After completing a task like <\/span><a href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/classify-mask-pii-in-databases-with-fieldshield\/\"><span style=\"font-weight: 400;\">multi-table masking<\/span><\/a><span style=\"font-weight: 400;\"> in FieldShield for example, if the target schema does not have the tables already created to place the masked data, Data Definition Language (DDL) scripts must be generated ahead of time to create the tables.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now suppose that the source and target tables are in different vendor databases. There can be errors with the DDL because the wizard generating the scripts encounters a data type that is in one vendor but not the other.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At this point, a default data type is used \u2013 often Varchar \u2013 which isn\u2019t the best solution, which forces the user to examine the scripts and modify them. This can be a time-consuming process and if the user is not careful, it can lead to a loss in data.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With the implementation of the new Data Type Mapping wizard, IRI Workbench users can dictate which data types should be used when going from one database to another.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The IRI Workbench GUI is built on Eclipse and is used to create job scripts that allow for the movement and manipulation of structured data through compatible <\/span><a href=\"https:\/\/www.iri.com\/products\"><span style=\"font-weight: 400;\">IRI products<\/span><\/a><span style=\"font-weight: 400;\">. All the work specified in those scripts is performed at runtime by the back-end <\/span><a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\"><span style=\"font-weight: 400;\">SortCL<\/span><\/a><span style=\"font-weight: 400;\"> data processing program.<\/span><\/p>\n<h5><b><\/b><b>Overview of Data Type Maps<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">The Data Type Mapping preferences can be found in the IRI section in Preferences. The first view provides information on the maps created and allows for several options such as adding new maps, editing existing ones, removing, and importing\/exporting:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15896 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/data-type-default-map-300x183.jpg\" alt=\"\" width=\"787\" height=\"480\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/data-type-default-map-300x183.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/data-type-default-map.jpg 893w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The table has four columns, including the <\/span><i><span style=\"font-weight: 400;\">Source <\/span><\/i><span style=\"font-weight: 400;\">and <\/span><i><span style=\"font-weight: 400;\">Target<\/span><\/i><span style=\"font-weight: 400;\">, which shows the names of the DB profiles created when setting up the <\/span><a href=\"https:\/\/www.iri.com\/services\/training\/courseware#install\"><span style=\"font-weight: 400;\">JDBC connections<\/span><\/a><span style=\"font-weight: 400;\">. These are the same names you should see in the Data Source Explorer view.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><i><span style=\"font-weight: 400;\">Name<\/span><\/i><span style=\"font-weight: 400;\"> column holds unique names for data type maps which can provide context for using these maps in different Workbench job wizards. This is why names must be unique.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><i><span style=\"font-weight: 400;\">Default<\/span><\/i><span style=\"font-weight: 400;\"> column allows you to specify which map will be used by default when job wizards create DDL scripts. If the default is not selected, the user can still use a map if the source and target DB and version are the same as the source and target DB used in the wizard.<\/span><\/p>\n<h5><b>Creating a Data Type Map<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">To create a new map, click <\/span><i><span style=\"font-weight: 400;\">Add\u2026<\/span><\/i><span style=\"font-weight: 400;\"> and a new window will appear like the one below.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15897 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/map-dbase-data-types-300x252.jpg\" alt=\"\" width=\"768\" height=\"645\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/map-dbase-data-types-300x252.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/map-dbase-data-types-768x645.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/map-dbase-data-types.jpg 826w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The default name of <\/span><i><span style=\"font-weight: 400;\">NewMap <\/span><\/i><span style=\"font-weight: 400;\">is automatically provided, but you should rename it.\u00a0 Next to the name is the default selection; check this if this new map will be the default map for the source and target DB in your jobs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As for the <\/span><i><span style=\"font-weight: 400;\">Source <\/span><\/i><span style=\"font-weight: 400;\">and <\/span><i><span style=\"font-weight: 400;\">Target <\/span><\/i><span style=\"font-weight: 400;\">sections, you can choose to map data types between databases or from\/to SortCL job scripts. If you select a database, the drop-down menu will present all previously configured connection profiles, as the image below shows:\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15899 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/New-map-source-target-300x161.jpg\" alt=\"\" width=\"767\" height=\"412\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/New-map-source-target-300x161.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/New-map-source-target-768x412.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/New-map-source-target.jpg 944w\" sizes=\"(max-width: 767px) 100vw, 767px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">You will not be able to create a map that has the same source in the target, however; i.e.,<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">SortCL to SortCL<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The same connection profile in source and in target<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Same vendor to same vendor <span id='easy-footnote-1-15892' class='easy-footnote-margin-adjust'><\/span><span class='easy-footnote'><a href='https:\/\/www.iri.com\/blog\/migration\/data-migration\/mapping-db-data-types\/#easy-footnote-bottom-1-15892' title='A future update will allow users to create maps between different versions of the same vendor DB.'><sup>1<\/sup><\/a><\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">You can make several maps that share the same source and target, but only one map can be set as the default. If the user tries to create a new default map the wizard will check to see if there are any prior\/existing default maps that use the same source and target.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If so, a pop up will appear showing the name of the existing map and warn that if the new map is saved as default, it will remove the prior\/existing default map from being the default.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15901 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/PopUpWarning-300x98.jpg\" alt=\"\" width=\"558\" height=\"182\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/PopUpWarning-300x98.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/PopUpWarning.jpg 515w\" sizes=\"(max-width: 558px) 100vw, 558px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Once a selection is made for source and target, the table below will automatically be populated with their respective data types for the DB vendor and version, or for SortCL.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To obtain the version number from the DB, the wizard first tries to retrieve it from the DB server. Verify your DB version by going to the Data Source Explorer and right-clicking on the connection profile, and selecting the properties option. Under <\/span><i><span style=\"font-weight: 400;\">Version<\/span><\/i><span style=\"font-weight: 400;\">, the right DB release should show:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15902 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/VersionInfo-300x157.jpg\" alt=\"\" width=\"826\" height=\"432\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/VersionInfo-300x157.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/VersionInfo-1024x537.jpg 1024w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/VersionInfo-768x403.jpg 768w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If an incorrect version is showing or has missing information, click on <\/span><i><span style=\"font-weight: 400;\">Connect and Update Version Information<\/span><\/i><span style=\"font-weight: 400;\"> to fix it.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Suppose the database server version is not available, the wizard will then try to query the database\u2019s version number by looking at the template driver used when the JDBC connection was first created. This is prone to error because you can use an incorrect driver template to connect to the DB.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example, if you set up a JDBC connection to Oracle 12c with a driver template for Oracle 8, you can still connect to the DB but the system version and the actual DB version do not match. This can cause issues with data types available to the DB when creating the data type map.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15903 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/incorrectDriverTemplate-300x251.jpg\" alt=\"\" width=\"616\" height=\"515\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/incorrectDriverTemplate-300x251.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/incorrectDriverTemplate.jpg 581w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The best practice is to ensure that the server version displays the correct DB version, so when the wizard queries the DB it receives the correct version.<\/span><\/p>\n<h5><b>Why Create a Default Map?\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Having a default map avoids having to create a map for each connection profile. Maps that share the same vendor and version but not the exact connection profiles are still available as an option in a job wizard.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example, certain maps can be created with a specific purpose in mind, such as matching Timestamp data type to Varchar to avoid losing the microseconds in the data, but this map isn\u2019t needed for every job. This can make it confusing to select the correct map for the job especially as more maps are created in the future.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Having the option of making a map the default is available so you can know this <\/span><i><span style=\"font-weight: 400;\">default<\/span><\/i><span style=\"font-weight: 400;\"> map was made for this exact same source and target, and contains the data types that are used for most jobs.\u00a0<\/span><\/p>\n<h5><b>How the Data Types Actually Map<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Let\u2019s shift our focus to how the data type matching is done from source to target. If the DBs share the same data type, then the matching pair will also share the same data type. For example, the wizard will map integer to integer if both Oracle and DB2 use an integer data type.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15904 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/TablePopulatedwithDataTypes-300x221.jpg\" alt=\"\" width=\"780\" height=\"574\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/TablePopulatedwithDataTypes-300x221.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/TablePopulatedwithDataTypes-768x566.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/TablePopulatedwithDataTypes.jpg 946w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If the source and target do not share the same data type, the closest data type will be used for the matching pair. For example, Binary_Double in Oracle is mapped to Numeric in DB2.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can however still manually override this, and specify which data type to use in the target column. Select the data type that needs to be changed and a drop-down menu will appear with all the data types available for the target DB (or for SortCL). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15906 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/EditTargetData-300x222.jpg\" alt=\"\" width=\"790\" height=\"585\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditTargetData-300x222.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditTargetData-768x569.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditTargetData.jpg 943w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Once everything is set, click OK and the newly created map will appear in the data type preference page. It is important to know that any changes done to the data type maps do not take effect until you click <\/span><i><span style=\"font-weight: 400;\">Apply or Apply and Close. <\/span><\/i><span style=\"font-weight: 400;\">If you cancel, no changes are saved.<\/span><\/p>\n<h5><b>Editing a Data Type Map<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">You can make changes to existing data type maps by highlighting the map to change and selecting the <\/span><i><span style=\"font-weight: 400;\">Edit\u2026<\/span><\/i><span style=\"font-weight: 400;\"> button on the right side of the table, or by double-clicking on the map.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can change the name of the map, select if the map will be used by default or not, and change any of the mappings between the data types. You will not be able to change the source or target DB, however.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15907 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/EditDataTypeMap-300x218.jpg\" alt=\"\" width=\"785\" height=\"571\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditDataTypeMap-300x218.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditDataTypeMap-768x559.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/EditDataTypeMap.jpg 957w\" sizes=\"(max-width: 785px) 100vw, 785px\" \/><\/p>\n<h5><\/h5>\n<h5><b>Exporting Data Type Maps<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">You can share your cross-DB data type mappings with other IRI software users by selecting the Export button. In the window that opens, you can select which map(s) to export.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Specify an output file folder and name for the map. The resulting XML file will contain all the information on the data type map(s) you selected.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15908 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/ExportMappings-300x193.jpg\" alt=\"\" width=\"563\" height=\"362\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/ExportMappings-300x193.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/ExportMappings.jpg 580w\" sizes=\"(max-width: 563px) 100vw, 563px\" \/><\/p>\n<h5><\/h5>\n<h5><b>Using a Data Type Map<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">As of this writing, there are three Workbench wizards that can use these data type maps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Sub-Setting job (<\/span><a href=\"https:\/\/www.iri.com\/products\/voracity\"><span style=\"font-weight: 400;\">Voracity<\/span><\/a><span style=\"font-weight: 400;\">)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Multi-Table Masking job (<\/span><a href=\"https:\/\/www.iri.com\/products\/fieldshield\/overview\"><span style=\"font-weight: 400;\">FieldShield<\/span><\/a><span style=\"font-weight: 400;\">)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Etl-Join Job (Voracity)<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">These wizards work the same way as they have, but now also have a new option to specify the data type map in their <\/span><i><span style=\"font-weight: 400;\">Data Loading <\/span><\/i><span style=\"font-weight: 400;\">page. The screenshot from the <\/span><a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/iris-new-database-subsetting-wizard\/\"><span style=\"font-weight: 400;\">DB subsetting wizard<\/span><\/a><span style=\"font-weight: 400;\"> below shows the data loading with the option to select a data type map right below Output mode:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15909 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/SubsettingNew-300x291.jpg\" alt=\"\" width=\"832\" height=\"807\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingNew-300x291.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingNew-768x745.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingNew.jpg 862w\" sizes=\"(max-width: 832px) 100vw, 832px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If there is a corresponding data type map for the source and target DB for the sub-setting wizard, then the drop-down menu will be enabled to allow you to pick which map to use. The example below shows a map called <\/span><i><span style=\"font-weight: 400;\">DefaultMap <\/span><\/i><span style=\"font-weight: 400;\">which is already selected, but there is another map available called <\/span><i><span style=\"font-weight: 400;\">Secondary<\/span><\/i><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15910 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/SubsettingWithDatatypeMap-300x291.jpg\" alt=\"\" width=\"814\" height=\"789\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingWithDatatypeMap-300x291.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingWithDatatypeMap-768x744.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/SubsettingWithDatatypeMap.jpg 859w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The drop-down menu for the data type map will be disabled if there are no maps that correspond to the source and target DB specified in the sub-setting wizard.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15911 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/NoAvailbleMaps-300x80.jpg\" alt=\"\" width=\"652\" height=\"174\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/NoAvailbleMaps-300x80.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/NoAvailbleMaps-768x205.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/NoAvailbleMaps.jpg 862w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/p>\n<h5><\/h5>\n<h5><b>Use Case<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">In this example, a Voracity sub-setting job is performed on source tables in an Oracle schema which targets tables in DB2.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The DB subsetting wizard in IRI Workbench automatically generates the CREATE and ALTER TABLE statements in a DDL file for the target schema along with the SortCL scripts that extract, join, and load the data from the source. Specifically, the wizard builds a batch job that re-creates the source table structures and their constraints in the specified target DB, and places the subsetted values into the newly created tables.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Oracle and DB2 share very similar data types but there is a special case for Varchar2 and Number. DB2 technically supports those data types but not by default. Upon creation of the target DB, those two data types need to be enabled for DB2 to support them.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On our <\/span><i><span style=\"font-weight: 400;\">first <\/span><\/i><span style=\"font-weight: 400;\">try, the DDL scripts needed to create the tables in the target DB (DB2) are not using data type maps. The DDL shows there are several tables with Number and\u00a0 Varchar2 columns:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15912 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/incorrectDDL-245x300.jpg\" alt=\"\" width=\"656\" height=\"803\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/incorrectDDL-245x300.jpg 245w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/incorrectDDL.jpg 664w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">In our first run, there is an error at execution time during table creation, due to Number or Varchar2 being recognized as an undefined name. This means every instance of Number or Varchar2 would have to be changed to an equivalent data type supported by DB2.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15913 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/error-300x81.jpg\" alt=\"\" width=\"732\" height=\"198\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/error-300x81.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/error-768x207.jpg 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/error.jpg 829w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15914 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/correctDDL-300x248.jpg\" alt=\"\" width=\"396\" height=\"328\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/correctDDL-300x248.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/correctDDL.jpg 365w\" sizes=\"(max-width: 396px) 100vw, 396px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">In our <\/span><i><span style=\"font-weight: 400;\">second <\/span><\/i><span style=\"font-weight: 400;\">try, however, with the right mapping defined, Number was automatically mapped to Numeric and Varchar2 was mapped to Varchar. The creation of the DDL scripts shows that the correct data type went to the target tables.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The subsetting job ran without errors and was completed with tables created and populated in DB2. This demonstrates that setting up a data type map can help prevent errors, and save the time involved with manually creating and editing multiple DDL scripts.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15916 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/tablesCreated-300x246.jpg\" alt=\"\" width=\"420\" height=\"344\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/tablesCreated-300x246.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/tablesCreated.jpg 375w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-15915 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2022\/06\/consoleCorrect-300x226.jpg\" alt=\"\" width=\"437\" height=\"329\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/consoleCorrect-300x226.jpg 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/consoleCorrect.jpg 388w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">If you have any questions about this article, or if you need assistance with mapping data types from your sources to targets in IRI Workbench, please email <\/span><a href=\"mailto:support@iri.com\"><span style=\"font-weight: 400;\">support@iri.com<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abstract: The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets. After completing a<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/www.iri.com\/blog\/migration\/data-migration\/mapping-db-data-types\/\" title=\"Mapping DB Data Types\">Read More<\/a><\/div>\n","protected":false},"author":160,"featured_media":15893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[8,31,1,776,91,29,3],"tags":[77,1692,850,1691],"class_list":["post-15892","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-protection","category-data-migration","category-data-transformation2","category-etl","category-iri-workbench","category-test-data","category-vldb-operations","tag-data-migration-2","tag-db-data-type-mapping","tag-iri-workbench","tag-mapping-db-data-types"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mapping DB Data Types - IRI<\/title>\n<meta name=\"description\" content=\"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.\" \/>\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.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mapping DB Data Types\" \/>\n<meta property=\"og:description\" content=\"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-06T19:21:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-06T21:28:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kevin Roldos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kevin Roldos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\"},\"author\":{\"name\":\"Kevin Roldos\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/03b00a019a87dc6f63f49782a08467a0\"},\"headline\":\"Mapping DB Data Types\",\"datePublished\":\"2022-06-06T19:21:50+00:00\",\"dateModified\":\"2022-06-06T21:28:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\"},\"wordCount\":1889,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png\",\"keywords\":[\"data migration\",\"DB Data Type Mapping\",\"IRI Workbench\",\"Mapping DB Data Types\"],\"articleSection\":[\"Data Masking\/Protection\",\"Data Migration\",\"Data Transformation\",\"ETL\",\"IRI Workbench\",\"Test Data\",\"VLDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\",\"url\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\",\"name\":\"Mapping DB Data Types - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png\",\"datePublished\":\"2022-06-06T19:21:50+00:00\",\"dateModified\":\"2022-06-06T21:28:34+00:00\",\"description\":\"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mapping DB Data Types\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.iri.com\/blog\/#website\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/03b00a019a87dc6f63f49782a08467a0\",\"name\":\"Kevin Roldos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a592c9c38829637b969040dd5247c4be?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a592c9c38829637b969040dd5247c4be?s=96&d=blank&r=g\",\"caption\":\"Kevin Roldos\"},\"url\":\"https:\/\/www.iri.com\/blog\/author\/kevinr\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mapping DB Data Types - IRI","description":"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.","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.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/","og_locale":"en_US","og_type":"article","og_title":"Mapping DB Data Types","og_description":"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.","og_url":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/","og_site_name":"IRI","article_published_time":"2022-06-06T19:21:50+00:00","article_modified_time":"2022-06-06T21:28:34+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","type":"image\/png"}],"author":"Kevin Roldos","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kevin Roldos","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#article","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/"},"author":{"name":"Kevin Roldos","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/03b00a019a87dc6f63f49782a08467a0"},"headline":"Mapping DB Data Types","datePublished":"2022-06-06T19:21:50+00:00","dateModified":"2022-06-06T21:28:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/"},"wordCount":1889,"commentCount":0,"publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","keywords":["data migration","DB Data Type Mapping","IRI Workbench","Mapping DB Data Types"],"articleSection":["Data Masking\/Protection","Data Migration","Data Transformation","ETL","IRI Workbench","Test Data","VLDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/","url":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/","name":"Mapping DB Data Types - IRI","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","datePublished":"2022-06-06T19:21:50+00:00","dateModified":"2022-06-06T21:28:34+00:00","description":"The process of transferring data from one database (DB) to another can be complicated when those DBs do not use the same data types. A DB Data Type Mapping wizard is now implemented in IRI Workbench to help solve this problem for SortCL-driven data management jobs with different sources and targets.","breadcrumb":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#primaryimage","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/mapping-db-data-types\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Mapping DB Data Types"}]},{"@type":"WebSite","@id":"https:\/\/www.iri.com\/blog\/#website","url":"https:\/\/www.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/www.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/03b00a019a87dc6f63f49782a08467a0","name":"Kevin Roldos","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a592c9c38829637b969040dd5247c4be?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a592c9c38829637b969040dd5247c4be?s=96&d=blank&r=g","caption":"Kevin Roldos"},"url":"https:\/\/www.iri.com\/blog\/author\/kevinr\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2022\/06\/Mapping-DB-Feature-Article.png","_links":{"self":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/15892"}],"collection":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/users\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=15892"}],"version-history":[{"count":22,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/15892\/revisions"}],"predecessor-version":[{"id":17913,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/15892\/revisions\/17913"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media\/15893"}],"wp:attachment":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=15892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=15892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=15892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}