The Case of the Missing .NET Data Provider for i5/OS in Visual Studio 2008
Published: July 15, 2009
by Michael Sansoterra
Note: The code accompanying this article is available for download here.
Like most people, I hate purchasing something only to find out a piece is missing. If you've been merrily rolling along with Visual Studio (VS) 2005 and recently upgraded to 2008, or if you've started tinkering with some .NET tutorials with VS 2008, you may have noticed something odd. There's a piece missing! The .NET Data Provider for i5/OS that comes with V6R1 System i Access does not appear as an option in the Visual Studio 2008 data source configuration wizard. (This tip only applies to the V6R1 provider.)
The .NET provider can still be used programmatically in VS 2008, of course. But for beginners or those used to the convenience of the VS wizards and the declarative programming model, it's unpleasant to forego this option. Fortunately, the problem is a small oversight where the System i Access installer doesn't add the specific registry entries required to make the IBM provider appear in VS 2008. IBM has kindly provided a fix under PMR 92379 that can be downloaded here.
This fix is nothing more than a handful of registry entries. Follow these steps to apply the fix:
- If it's active, shut down Visual Studio
- Download the fix and extract the items from the zip file. If you have System i Access installed in a folder other than the default, see the IBM note at the end of this tip for special instructions. You'll need to open the registry files with notepad and change the folder locations
- For safety's sake, I'm required to say, "backup your registry"
- Double-click on each of the two .REG files. This will automatically add the required information about the IBM data provider to the Windows registry. Windows will likely warn you of potential harm when modifying the registry. In this case, just ignore these messages
- Restart Visual Studio
- Activate the data source configuration wizard any way you like (for instance, when configuring a data bound control), and you should see the DB2 provider show up in the list of available data sources
Note: This fix does not apply to the free Express editions of Visual Studio 2008, which has limited data source options for the sole purpose of forcing you to use Microsoft products or getting you to buy a higher version of the product.
The figure below shows DB2 for i5/OS in the list.
The current service pack for V6R1 System i Access is SI34289, but it does not include this fix. IBM expects the next service pack release to contain these registry entries. (The release is scheduled for December 2009.)
IBM Note: The registry keys assume the System i Access for Windows product was installed in the default location of "C:\Program Files\IBM\Client Access\". If the installation path is different from the default value, then the VS2008DataProviders.reg file must be edited before importing the registry entries. The "Codebase", "Path", and "Path" variables must be changed inside of the reg file.
Michael Sansoterra is a programmer/analyst for i3 Business Solutions, an IT services firm based in Grand Rapids, Michigan. Send your questions or comments for Mike to Ted Holt via the IT Jungle Contact page.
Microsoft .NET 2.0 for System i Developers: Building Windows Forms Using the DataGridview Control
System i Developers and .NET 2.0: ASP.NET and the Declarative Programming Model
System i Developers and .NET 2.0, Part 2: Web Development Using ASP.NET AJAX
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot