Learn more about SQL Server tools



solving sql server problems for millions of dbas and developers since 2006 attend our next webcast













































   Got a SQL tip?
            We want to know!

How to create a SQL Server link server to IBM DB2

MSSQLTips author Matteo Lorini By:   |   Read Comments (6)   |   Related Tips: 1 | 2 | 3 | More > Linked Servers
Problem

Creating linked servers is generally a pretty easy thing to do, but the creation of a link server with DB2  is not as simple. To create a linked server to DB2, it requires the SQL DBA to know or guess a lot of parameters that are not familiar or intuitive. In this tip we will walk through the process of setting iup a linked server to DB2.

Solution

In order to successfully create a link server with DB2, you need to download and install Microsoft OLDB Provider for DB2.

The easiest way to create the link server is to use the "Data Access Tool" application, which comes with the Microsoft OLDB Provider for DB2 driver installation. In addition, I recommend that you ask for assistance from your DB2 DBA.

Data Access Tool

The Data Access tool is very easy to use. As soon as the application is launched, click on File -> New -> Data Source and it will show the following screen.  Unless the DB2 source platform is known you may need to consult with the DB2 DBA to assist in picking the correct platform.

The Data Access tool

In the next step, enter the DB2 IP address and TCP port used to connect to DB2.

 enter the DB2 IP address and TCP port used to connect to DB2

In the next screen enter the Initial catalog (database you want to connect to), the Package Collection, the Default schema and Default qualifier. Again, if you are unsure consult your DB2 DBA.

the Package Collection, the Default schema and Default qualifier

Here is another set of parameters that are required to connect to DB2. If you are unsure which options to select, consult your DB2 DBA.

another set of parameters that are required to connect to DB2

In the next input window we enter the DB2 user that will be used to impersonate our SQL User. This DB2 user will need to have appropriate access rights to DB2 and this user will need to be created by the DB2 DBA.

enter the DB2 user that will be used to impersonate our SQL User

On this screen additional options can be selected.  For more information on any of these items, you can click on the Help button.

click on Connect to verify

At the end of the wizard, click on Connect to verify if we have connectivity with DB2. If so, click on Sample Query to make sure we can successfully query DB2.

click on Sample Query to make sure we can successfully query DB2

If we have successfully tested connectivity, we are now ready to create our SQL to DB2 link server.

we are now ready to create our SQL to DB2 link server

Right click on the newly created data source and click on Display Connection String. In my case the connection string looks like the following:

Provider=DB2OLEDB;User ID=db2user;Password=mypassword;Initial Catalog=mydatabase;Network Transport Library=TCP; Host CCSID=37;PC Code Page=1208;Network Address=192.168.9.65;Network Port=446;Package Collection=MSDB2COL; Process Binary as Character=False;Connect Timeout=15;Units of Work=RUW;DBMS Platform=DB2/MVS;Defer Prepare=False; Rowset Cache Size=0;Max Pool Size=100;Persist Security Info=True;Connection Pooling=True;Derive Parameters=False;

Create Linked Server

Finally, we can start the link server wizard.

Right click on Linked Servers and select "New Linked Server...".

On the New Linked Server window, the linked server can be any name. The provider has to be Microsoft OLDB Provider for DB2. Enter product name as DB2OLDB. In catalog, copy and paste the connection string that was created.

On the Security page, select "be made by using this security context" and enter the DB2 user name and password.

Right click on Linked Servers and select "New Linked Server...".

If everything works fine we should be able to see our DB2 link server as shown below.

we should be able to see our DB2 link server
Next Steps


Last Update: 10/21/2010


About the author
MSSQLTips author Matteo Lorini
Matteo Lorini is a DBA and has been working in IT since 1993. He specializes in SQL Server and also has knowledge of MySQL.

View all my tips


print tip Print  
Become a paid author





join MSSQLTips for free SQL Server tips     



Learn more about SQL Server tools
Post a comment or let the author know this tip helped you.

       All comments are reviewed, so stay on subject or we may delete your comment.

*Name   *Email Notify for updates



       Note: your email address is not published. Required fields are marked with an asterisk (*)


Get free SQL tips:

*Enter Code refresh code     



Monday, May 26, 2014 - 6:34:05 AM - Klingo Read The Tip

The TestConnection on the Management Studio is successfull but when i look under the linked databases it does not show me tables, what can I do?


Tuesday, December 10, 2013 - 6:46:33 AM - sai krishna Read The Tip

Hello everyone.

 

I am just following the same process what you said here. When I click on 'Connect' button at Validation step(7th screenshot), I am getting the following error.

 

Could not connect to data source 'New Data Source':
A TCPIP socket error has occured (10061): No connection could be made because the target machine actively refused it.
 SQLSTATE: 08S01, SQLCODE: 10061

 

Can anyone please help me how to overcome this issue.

 

Eagerly waiting for the reply. Thanks in advance.

 

Best Regards,

Sai.


Friday, June 14, 2013 - 10:45:53 AM - Andreas Kelm Read The Tip
Hello, I could download and install the DATA ACCESS TOOL, but during configuration the 
account information, I could not use an username with "_" like user_name, it fails :-(
Are there any possibility to use " ore [ in order to use such a username ?
Thanks Andreas


Friday, October 22, 2010 - 9:35:50 AM - Chris Gelhaus Read The Tip

Hello, I didnt see it mentioned in the tip so I thought I would mention it. Unless something has changed in SQL 2008, the OLEDB Driver for DB2 is only available for SQL Server Enterprise and Developer Editions. DBA's who have SQL Server Standard edition need to use any edition of IBM DB2 Connect. Thanks, Chris


Thursday, October 21, 2010 - 11:51:45 AM - Bob Read The Tip
This worked for me but I think you meant to paste the connection string into the Provider String field when creating the linked server.  The Catalog field is to specify the initial catalog (database) to connect to.  I'm using SQL 2008 R2 Developer SSMS.


Thursday, October 21, 2010 - 11:48:24 AM - Keith Lindsey Read The Tip
Might want to include that the ole db2 will not install on standard editions of sql 2005




 
Sponsor Information







Copyright (c) 2006-2014 Edgewood Solutions, LLC All rights reserved
privacy | disclaimer | copyright | advertise | about
authors | contribute | feedback | giveaways | free t-shirt | user groups | community | events | first timer?
Some names and products listed are the registered trademarks of their respective owners.