{"id":14077,"date":"2020-10-12T12:54:28","date_gmt":"2020-10-12T16:54:28","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=14077"},"modified":"2023-12-08T10:21:37","modified_gmt":"2023-12-08T15:21:37","slug":"connecting-db2-with-iri","status":"publish","type":"post","link":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/","title":{"rendered":"Connecting IBM DB2 with IRI Software"},"content":{"rendered":"<p><i>Like previous articles in this blog on the connection and configuration of other relational databases with the <\/i><a href=\"https:\/\/www.iri.com\/products\/voracity\"><i>IRI Voracity<\/i><\/a><i> data management platform &#8212; and its ecosystem products: CoSort, NextForm, FieldShield, DarkShield and RowGen &#8212; this article details how to reach DB2 sources. It describes the ODBC and JDBC connections and configurations necessary to register DB2 with the <\/i><a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\"><i>SortCL<\/i><\/a><i> engine and <\/i><a href=\"https:\/\/www.iri.com\/products\/workbench\"><i>IRI Workbench<\/i><\/a><i> job design client common to most IRI software. <a href=\"https:\/\/www.iri.com\/solutions\/database-acceleration\/db2-udb\">This<\/a> page summarizes IRI operations on DB2 data. <span style=\"font-weight: 400;\">Note that if you are using DarkShield, only the JDBC connection described below is required.<\/span><\/i><\/p>\n<p style=\"text-align: center;\"><strong>Follow along with our YouTube video!<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"DB2 DB Tutorial\" width=\"1140\" height=\"641\" src=\"https:\/\/www.youtube.com\/embed\/CxSG57bkKBs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<h5><b>About DB2<\/b><\/h5>\n<p><a href=\"https:\/\/www.ibm.com\/db2\">DB2<\/a> is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data types and optimizes retrieval of that data through structured query language (SQL). DB2 can also serve as an object-oriented or a hierarchical database, and it can use non-relational structures with XML.<\/p>\n<p>DB2 was initially developed for use on the IBM mainframe. In 1990 IBM developed a Universal Database DB2 (UDB) server to run on Linux, Unix and Windows (LUW). Today, DB2 supports:<\/p>\n<ul>\n<li>z\/OS<\/li>\n<li>iSeries(AS\/400)<\/li>\n<li>LUW, including IBM z\/Linux and AIX<\/li>\n<\/ul>\n<h5><b>About Voracity<\/b><\/h5>\n<p><a href=\"https:\/\/www.iri.com\/products\/voracity\">IRI Voracity<\/a> is an enterprise data management platform for the movement and manipulation of data through its lifecycle, and supports many fit-for-purpose activities under the broader categories of data discovery, integration, migration, governance, analytics. Voracity is powered by the <a href=\"https:\/\/www.iri.com\/solutions\/big-data\/hadoop-optional\">primary<\/a> data processing engine of IRI CoSort called <a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\">SortCL<\/a>.<\/p>\n<p>SortCL jobs serialize in explicit 4GL job scripts that are created, modified, shared, scheduled and deployed in a free graphical IDE built on Eclipse called <a href=\"https:\/\/www.iri.com\/products\/workbench\">IRI Workbench<\/a>. Workbench is also a robust database administration environment for DB2 and other RDBs, with connected schema open for views, and both IRI and SQL operations, from the Eclipse Data Source Explorer (DSE).<\/p>\n<h5><b>Interoperability Prerequisites<\/b><\/h5>\n<p>To move DB2 data to and from the back-end SortCL engine, written in C, an <i>ODBC <\/i>connection is required. To support visual table browsing and metadata interchange in the Eclipse (JAVA) environment of IRI Workbench, a <i>JDBC <\/i>connection is required.<\/p>\n<p>Note that if you only use IRI DarkShield with DB2 for masking data in structured, semi- and\/or unstructured columns per <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/darkshield-relational-databases\">this<\/a> article, only JDBC would be needed. In most cases however, you will need to connect with both drivers and <i>register <\/i>them in IRI Workbench to map between them.<\/p>\n<p>This article takes you through those steps, and how you can then verify that everything works.<\/p>\n<h5><b>First Steps<\/b><\/h5>\n<p>Obtain and install the necessary ODBC and JDBC drivers for your operating systems and database. Note that you will need a 32-bit ODBC driver if you use a 32-bit version of SortCL (which is often the case on Windows), and a 64-bit ODBC driver if you use the 64-bit version; click <a href=\"https:\/\/www.iri.com\/blog\/iri\/iri-workbench\/connecting-iri-software-oracle#odbc\">here<\/a> for more information.<\/p>\n<p>See <a href=\"https:\/\/www.ibm.com\/support\/knowledgecenter\/SSEPGG_11.5.0\/com.ibm.db2.luw.apdv.cli.doc\/doc\/t0023867.html\">this<\/a> IBM page to obtain the IBM Data Server Driver for ODBC. Download the JDBC driver compatible with your version of DB2 from IBM <a href=\"https:\/\/www.ibm.com\/support\/pages\/db2-jdbc-driver-versions-and-downloads\">here<\/a> if it is not already included with your database. Follow their instructions for installation.<\/p>\n<p>Launch IRI Workbench and create a project per the instructions you received from your IRI representative or the <a href=\"https:\/\/www.iri.com\/download\/2ff98014a89ab3f1bda9325273f4feb282aeefc0\">installation guide<\/a>. Here is the empty workspace you should see:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14083 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-1.png\" alt=\"\" width=\"742\" height=\"561\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-1.png 1009w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-1-300x227.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-1-768x581.png 768w\" sizes=\"(max-width: 742px) 100vw, 742px\" \/><\/a><\/p>\n<h5><b>Configure the JDBC Driver<\/b><\/h5>\n<p>Click on the New Connection Profile widget in the Data Source Explorer (see above) and Select DB2 from the list of default sources (see below). Name your connection and click Next.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14084 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-2.png\" alt=\"\" width=\"514\" height=\"579\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-2.png 514w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-2-266x300.png 266w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><\/a><\/p>\n<p>On the New connection profile screen, click on the New Driver Definition widget as shown:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14085 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-3.png\" alt=\"\" width=\"589\" height=\"190\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-3.png 589w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-3-300x97.png 300w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/a><\/p>\n<p>This opens the JDBC driver specification page:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14086 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-4.png\" alt=\"\" width=\"587\" height=\"493\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-4.png 587w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-4-300x252.png 300w\" sizes=\"(max-width: 587px) 100vw, 587px\" \/><\/a><\/p>\n<p>Select the JAR List button, and in the dialog, click\u00a0 \u201cAdd JAR\/Zip &#8230;\u201d This is where you have to locate the actual .jar file that contains the driver compatible with your release of DB2:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14087 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-5.png\" alt=\"\" width=\"591\" height=\"496\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-5.png 591w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-5-300x252.png 300w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><\/a><\/p>\n<p>Next, click the Properties tab to enter your credentials for connecting to DB2; for example:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14088 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-6.png\" alt=\"\" width=\"595\" height=\"497\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-6.png 595w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-6-300x251.png 300w\" sizes=\"(max-width: 595px) 100vw, 595px\" \/><\/a><\/p>\n<p>Click OK. On the Connection Details page, click on the Test Connection button.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14089 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-7.png\" alt=\"\" width=\"516\" height=\"605\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-7.png 516w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-7-256x300.png 256w\" sizes=\"(max-width: 516px) 100vw, 516px\" \/><\/a><\/p>\n<p>If your ping succeeds as shown, your JDBC connection in IRI Workbench is established:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14090 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-8.png\" alt=\"\" width=\"519\" height=\"602\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-8.png 519w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-8-259x300.png 259w\" sizes=\"(max-width: 519px) 100vw, 519px\" \/><\/a><\/p>\n<p>If your ping fails, contact your DB2 DBA to validate \/ edit your connection details. After you connect, click Finish.<\/p>\n<p>You should now see your New Connection DB2LUW in DSE. This will reveal up front several system defined schemas as shown below:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14091 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-9.png\" alt=\"\" width=\"426\" height=\"478\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-9.png 426w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-9-267x300.png 267w\" sizes=\"(max-width: 426px) 100vw, 426px\" \/><\/a><\/p>\n<p>A JDBC connection with IRI Workbench is used for many purposes. By highlighting (activating) one or tables from this view, you can:<\/p>\n<ul>\n<li>Create data definition format (DDF) files (DDL-equivalent SortCL metadata)<\/li>\n<li>Createg set files for psedonymous or random test data lookups<\/li>\n<li>Create and execute SQL queries<\/li>\n<li>Build E-R diagrams<\/li>\n<li>Profile and search the tables<\/li>\n<li>Create table subsets from a selected master table<\/li>\n<li>Launch NextForm data migration jobs from selected tables<\/li>\n<li>Launch FieldShield data masking jobs against selected tables<\/li>\n<li>Launch RowGen jobs to create synthetic test data using the DDL from selected<\/li>\n<\/ul>\n<p>If your instance contains a large number of schema or tables, see <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/table-filtering-iri-workbench\/\">this<\/a> article on filtering them from this view (and some of the job wizards) to make jobs more manageable.<\/p>\n<h5><b>Configure the ODBC Driver<\/b><\/h5>\n<p>ODBC stands for Open Database Connectivity. An ODBC driver is a C language library which provides connectivity and a SQL interface to a database. Applications do not interface directly with the driver, but go through an ODBC Manager layer.<\/p>\n<p>ODBC connections are identified with a unique identifier known as a Data Source Name (DSN). See <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/dsn-files-and-iri-software\">this<\/a> article on working with DSN files.<\/p>\n<p>From the IRI menu, the <i>ODBC Administrator Dialog \u2026<\/i><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14092 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-10.png\" alt=\"\" width=\"533\" height=\"183\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-10.png 533w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-10-300x103.png 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/a><\/p>\n<p>On Windows, this dialog will display:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14093 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-11.png\" alt=\"\" width=\"601\" height=\"434\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-11.png 601w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-11-300x217.png 300w\" sizes=\"(max-width: 601px) 100vw, 601px\" \/><\/a><\/p>\n<p>If your DB2 connection does not exist, click <i>Add \u2026<\/i> to create a new User DSN. This opens:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14094 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-12.png\" alt=\"\" width=\"606\" height=\"431\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-12.png 606w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-12-300x213.png 300w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><\/a><\/p>\n<p>For iSeries (for DB2\/400), you can obtain the <i>IBMiAccess_v1r_WindowsAP_English.zip<\/i> file containing the ODBC driver from <a href=\"https:\/\/www-01.ibm.com\/marketing\/iwm\/mrs\/DownloadList?source=swg-ia&amp;lang=en_US\">https:\/\/www-01.ibm.com\/marketing\/iwm\/mrs\/DownloadList<\/a><\/p>\n<p>The most recently tested working ODBC driver used with DB2 on iSeries was IBM I Access 13.64.27.00, called CWBODBC.DLL, dated 27 June 2023.<\/p>\n<p>If you used an older system, you might see instead:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14095 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-13.png\" alt=\"\" width=\"596\" height=\"423\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-13.png 596w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-13-300x213.png 300w\" sizes=\"(max-width: 596px) 100vw, 596px\" \/><\/a><\/p>\n<p>In my case (LUW) I selected the IBM DB2 ODBC driver I previously installed, and click <i>Finish<\/i>. Input your User ID and Password credentials for the database and click <i>Connect <\/i>to test the connection:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14096 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-14.png\" alt=\"\" width=\"554\" height=\"435\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-14.png 554w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-14-300x236.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/p>\n<p>Under Advanced Settings, click <i>Add <\/i>to open the Add CLI Parameters screen. From there, I can select certain connection attributes like the Database, Hostname, Port, and any other information necessary to reach my tables.<\/p>\n<p>In this case, you can see that I chose the hostname called Exploder; i.e., we have DB2 running on Exploder. My port number is 5000 and the name of the DB is Sample. The figures below show how I added those parameters:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14097 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-15.png\" alt=\"\" width=\"549\" height=\"562\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-15.png 549w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-15-293x300.png 293w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/a><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14098 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-16.png\" alt=\"\" width=\"564\" height=\"414\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-16.png 564w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-16-300x220.png 300w\" sizes=\"(max-width: 564px) 100vw, 564px\" \/><\/a><\/p>\n<h5><b>Register Your Connection in Workbench<\/b><b><\/b><\/h5>\n<p>Once you have finished the Data Source Explorer Connection Profile, you must register your database connection in the <a href=\"https:\/\/www.iri.com\/blog\/iri\/iri-workbench\/using-the-iri-workbench-data-connection-registry\">IRI Data Connection Registry<\/a>. This creates an internal mapping between the JDBC and ODBC drivers so that your database and its DDL metadata can be recognized in IRI Workbench job wizards.<\/p>\n<p>From the top toolbar menu of IRI Workbench, click the down arrow to the right of the blue IRI icon and select IRI Preferences. Once you are preferences, select Data Connection Registry.<\/p>\n<p>Click on the DB2 DSN you created, select its checkbox, and click <i>Edit &#8230;<\/i>:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-17.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14099 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-17.png\" alt=\"\" width=\"631\" height=\"696\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-17.png 821w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-17-272x300.png 272w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-17-768x848.png 768w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/a><\/p>\n<p>The<i> Edit \u2026<\/i> button will open the dialog below. Select a connection profile for the JDBC section, which in my case is DB2LUW:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14100 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-18.png\" alt=\"\" width=\"513\" height=\"569\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-18.png 513w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-18-270x300.png 270w\" sizes=\"(max-width: 513px) 100vw, 513px\" \/><\/a><\/p>\n<p>Click <i>Apply <\/i>to save the changes in the screen below:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-19.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14101 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-19.png\" alt=\"\" width=\"631\" height=\"694\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-19.png 813w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-19-273x300.png 273w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-19-768x845.png 768w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/a><\/p>\n<p>To test that everything is working, I will return to the Data Source Explorer, and highlight one or my tables. I then right click on it, and select IRI to expose the table-driven IRI application menu:<\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14102 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20-1024x598.png\" alt=\"\" width=\"800\" height=\"467\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20-1024x598.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20-300x175.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20-768x448.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png 1600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>From here, I selected the option to Generate DDF \u2026 which will build a metadata file in the data definition format of SortCL. The DDF file should contain \/FIELD layouts matching the columns in the table. You can see that the process is going to work:<\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14082 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21-1024x854.png\" alt=\"\" width=\"799\" height=\"666\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21-1024x854.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21-300x250.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21-768x641.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-21.png 1200w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/a><\/p>\n<p>If you need help establishing or verifying your DB2 connection, contact <a href=\"mailto:support@iri.com\">support@iri.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Like previous articles in this blog on the connection and configuration of other relational databases with the IRI Voracity data management platform &#8212; and its ecosystem products: CoSort, NextForm, FieldShield, DarkShield and RowGen &#8212; this article details how to reach DB2 sources. It describes the ODBC and JDBC connections and configurations necessary to register DB2<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\" title=\"Connecting IBM DB2 with IRI Software\">Read More<\/a><\/div>\n","protected":false},"author":53,"featured_media":14102,"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,363,776,91,90,29,3],"tags":[1487,561,570,789,850,956,75],"class_list":["post-14077","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-protection","category-data-migration","category-data-quality","category-etl","category-iri-workbench","category-migration","category-test-data","category-vldb-operations","tag-db2","tag-ddf","tag-ibm","tag-iri-voracity","tag-iri-workbench","tag-jdbc","tag-odbc"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Connecting IBM DB2 with IRI Software - IRI<\/title>\n<meta name=\"description\" content=\"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connecting IBM DB2 with IRI Software - IRI\" \/>\n<meta property=\"og:description\" content=\"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-12T16:54:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-08T15:21:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"934\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Chaitali Mitra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chaitali Mitra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\"},\"author\":{\"name\":\"Chaitali Mitra\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\"},\"headline\":\"Connecting IBM DB2 with IRI Software\",\"datePublished\":\"2020-10-12T16:54:28+00:00\",\"dateModified\":\"2023-12-08T15:21:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\"},\"wordCount\":1347,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\",\"keywords\":[\"DB2\",\"DDF\",\"IBM\",\"IRI Voracity\",\"IRI Workbench\",\"JDBC\",\"ODBC\"],\"articleSection\":[\"Data Masking\/Protection\",\"Data Migration\",\"Data Quality (DQ&#041;\",\"ETL\",\"IRI Workbench\",\"Migration\",\"Test Data\",\"VLDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\",\"name\":\"Connecting IBM DB2 with IRI Software - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\",\"datePublished\":\"2020-10-12T16:54:28+00:00\",\"dateModified\":\"2023-12-08T15:21:37+00:00\",\"description\":\"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png\",\"width\":1600,\"height\":934},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/beta.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connecting IBM DB2 with IRI Software\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/beta.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:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\",\"name\":\"Chaitali Mitra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"caption\":\"Chaitali Mitra\"},\"sameAs\":[\"http:\/\/www.iri.com\"],\"url\":\"https:\/\/beta.iri.com\/blog\/author\/chaitalim\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Connecting IBM DB2 with IRI Software - IRI","description":"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data","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:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/","og_locale":"en_US","og_type":"article","og_title":"Connecting IBM DB2 with IRI Software - IRI","og_description":"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data","og_url":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/","og_site_name":"IRI","article_published_time":"2020-10-12T16:54:28+00:00","article_modified_time":"2023-12-08T15:21:37+00:00","og_image":[{"width":1600,"height":934,"url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","type":"image\/png"}],"author":"Chaitali Mitra","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chaitali Mitra","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#article","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/"},"author":{"name":"Chaitali Mitra","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf"},"headline":"Connecting IBM DB2 with IRI Software","datePublished":"2020-10-12T16:54:28+00:00","dateModified":"2023-12-08T15:21:37+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/"},"wordCount":1347,"commentCount":0,"publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","keywords":["DB2","DDF","IBM","IRI Voracity","IRI Workbench","JDBC","ODBC"],"articleSection":["Data Masking\/Protection","Data Migration","Data Quality (DQ&#041;","ETL","IRI Workbench","Migration","Test Data","VLDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/","url":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/","name":"Connecting IBM DB2 with IRI Software - IRI","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","datePublished":"2020-10-12T16:54:28+00:00","dateModified":"2023-12-08T15:21:37+00:00","description":"DB2 is a Relational Database Management System (RDBMS) from IBM that runs on multiple hardware platforms. DB2 organizes the storage of a vast array of data","breadcrumb":{"@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#primaryimage","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","width":1600,"height":934},{"@type":"BreadcrumbList","@id":"https:\/\/beta.iri.com\/blog\/vldb-operations\/connecting-db2-with-iri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beta.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Connecting IBM DB2 with IRI Software"}]},{"@type":"WebSite","@id":"https:\/\/beta.iri.com\/blog\/#website","url":"https:\/\/beta.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.iri.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/beta.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/beta.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/beta.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:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf","name":"Chaitali Mitra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","caption":"Chaitali Mitra"},"sameAs":["http:\/\/www.iri.com"],"url":"https:\/\/beta.iri.com\/blog\/author\/chaitalim\/"}]}},"jetpack_featured_media_url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/10\/db2iri-20.png","_links":{"self":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14077"}],"collection":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=14077"}],"version-history":[{"count":18,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14077\/revisions"}],"predecessor-version":[{"id":17755,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14077\/revisions\/17755"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media\/14102"}],"wp:attachment":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=14077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=14077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=14077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}