see what's in the Get Running - Tegratecs Code Package
Db2 for i .NET Data Provider
Up and Running
- Invoke Db2 for i embedded SQL or Db2 for i stored procedures from c# on your Windows PC using any version of Visual Studio IDE
- get interactive web pages fast using .NET Framework web site or web application project template from Visual Studio, this is what we do
- or within a fat client .exe if you must
- or more essentially, by referencing the namespace in a .NET Framework class
- Easily deploy/implement your web site or web application project on Windows IIS web server
- Make your project accessible by most any web browser worldwide without any special requirements on user PCs. Similarly, the .NET Framework or Windows is not required on the end user's PC.
(a true zero-footprint client on the user's PC requires no additional installation or setup requirements beyond the browser itself)
- Installing and Specifying Settings (Plumbing)(Call Us if you get stuck!)
- the latest version of the .dll (from IBM i ACS Version - 188.8.131.52 Build ID - 3301 Windows Application Package released July 28th 2023) shows
File Version 184.108.40.206 (in Windows/assembly). When installed it shows as IBM i Access Client Solutions - Application Package 11.27.01 in Windows Settings Apps.
- for a .NET Framework website project (or web app project) needing access to Db2 for i, installation of the Db2 for i .NET
Data Provider is the only component group that is required on development workstations and the only component group required on Windows IIS web server (not required on end user workstations)
So specify a custom install as shown in the picture when running the setup.exe in IBM ACS Windows Application Package
- In other
words, please do not take the default installation options when installing the IBM ACS Windows Application Package, especially on Windows Server. By installing everything, the result can be that a number of extra things that you don't need get installed. Not only is not installing everything considered best practice (lean and mean is the best path to a sturdy and fast Windows Server build), but it reduces unknowns or unused duplicates for your Windows Server admin(s) and reduces the chance you'll get saddled with roadblocks or prerequisite hurdles (OK, sorry for the sermon).
- To enable drag and drop from Db2 for i physical files and external data structures into new OO DataSets at design time in Visual Studio, install the OLE DB Provider on the workstation also. The OLE DB Provider is not needed at run time, so again, please do not install the OLE DB Provider on Windows Server for this purpose. Of course we are assuming the developers aren't using Visual Studio to develop directly on Windows Server (LOL). The OLE DB Provider is not required to dynamically create a list of columns in an OO DataSet at run time based on the columns in a Db2 for i SQL statement or Stored Procedure. However, the OO DataSet is rather useful when programming the highest level of optimistic concurrency based on only a subset of columns...
- Let us help you with Q&A, providing examples or custom development contracting
- We can help you formulate strategy, train your resources or do the development
- Get the full scoop in our new tutorial, training and source code bundle, Get Running - Tegratecs Code Package - Pro Intro Module
- The SQL features available to use will be based on the target IBM i server OS level, so the latest and greatest stuff from IBM i 7.4 and 7.5 will be available (if installed on your target IBM i machine)
- For compiling of the project, the .dll will work with .NET Framework projects compiled all the way up to the latest, which is .NET Framework 4.8 The Db2 for i .NET Provider does not work with .NET Core.
- In some cases, when targeting older versions of the FW and/or using old versions of the .dll and/or targeting an old version of IBM i, special web.config syntax may be required, please contact us if you experience problems.
- connection strings can take advantage of *LIBL technique (probably only with Db2 for i version)
- Eliminate library and schema and testing-based SQL hard-coding with library list technique in a Windows development environment!
Please use the Contact Us phone number and extension for a no-cost, no-obligation discussion.
See this article from MC Press for good details on setting the path and using *LIBL and system naming versus SQL naming
- Here is a connection string example from a web.config file, based on a working production version, using the library list technique. Remember to create your stored procedure and SQL PL with compatible syntax and options based on the system naming technique. Long passwords with lower case can be used if the IBM i OS setting enables it... A specially powered profile (or compile attribute such as USRPRF(*OWNER) is not required to use embedded SQL or stored procedures in an application.
connectionString="DataSource=192.168.1.10; UserID=USRPRFNAME; Password=USRPRFPWD; Naming=System; LibraryList=LIBNAME1,LIBNAM2,LIBNAM3;"/>
- Use inline SQL or stored procedure calls
- Use Equivalent Constructs as with Other Data Providers for .NET Environment
- define methods for Db2 for i access at the same scope and with the same functional equivalent as with those for MS SQL Server
- most adapters are supported
- your choice of whether to use system column names, ALIAS names or SQL column names
- populate and work with .NET FW OO DataSet objects that were created via drag and drop from Db2 for i file columns and subsets
- we like to characterize DataSet objects as multi-occurrence data structures on steroids
- for those really wanting column name verification and intellisense for column names at design/programming time, you can use these OO DataSets to qualify columns with the same name as the database column name (OO feature we got working with both Db2 for i and MSSQL). Similarly, this prevents run-time errors due to typos in referencing the columns by hand-typed array-element name. Purist MVC followers probably won't like this, but we selected web forms based on the .NET Framework to get an integrated web UI and a GUI web page design capability quite a while back.
develop on your workstation using any version of Microsoft Visual Studio
(link to Microsoft) free Community Edition download options (free license for individuals* etc.)
deploy your website or web application project to production on Microsoft IIS web server (it's a piece of cake!)
(link to) Ultimate Guide to IIS Server: What Is IIS? IIS Tutorial
The Db2 for i database is enhanced and updated by IBM on a regular basis, so there are new features and capabilities coming regularly, such as these...
(link to article on ibm.com) IBM i 7.5 - Base Enhancements
(link to article on ibm.com) Integrating Watson into Db2 for i in the area of Geospatial Functions
(link to) MC Press Online article IBM i 7.4 Hot New Features Unveiled...
- Let us help you with development services or to supply examples
- We can help you formulate strategy, train your resources or do the development
More Technical Details on the Data Provider versus the Get Running - Tegratecs Code Package: The data
provider is an IBM product that is not distributed in any of our Get Running - Tegratecs Code Package
modules. A license to the data provider is included with any IBM ACS (Access Client Solutions) license. Our Pro Intro Module
product bundle includes a rather complete set of information on how to source the latest version of the
provider, and how to install it on the Windows workstation (for use in Visual Studio) and for use from
websites or web applications in the Windows IIS web server.
*update* All of the latest versions of the Get Running advanced modules now have pictures on how to install the provider and reference it in a project, so advanced developers no longer need our Pro Intro Module and can skip directly to one or both of the Advanced Modules. The two Advanced Modules are Stored Procedure & Embedded SQL
Test Harness (Db2 for i) and Auto-Gen Db2 for i SQL PL.
At least one IBM i user profile is required for access to Db2 for i. Connection string
examples on this site show how to use the *LIBL technique... Please note that download of the data provider and
its setup.exe is done separately from the base ACS (Access Client Solutions) and is done by
downloading the Windows Application Package (typically called something like
IBMiAccess_v1r1_WindowsAP_English) and running the setup.exe with a limited set of options.