473,320 Members | 1,861 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

DB2 IBM OleDB Provider


Today I managed to get the OleDB provider to let me put datasets from an
as400 using sql.

Great, the provider string I used is:

Provider=IBMDA400.DataSource.1;User ID=XXXXX;Password=XXXX;Data
Source=nnn.nnn.nnn.nnn;"/>
Question:

What is /IBMDA400.DataSource.1/ ?

Is that an ODBC driver?

Is it built into .net 1.1 ? Or do I have to install something else?

Is it part of the IBM CAE ( Client Access Express ) Utilities?

Does CAE have to be installed on the client to be able to use
IBMDA400.DataSource.1 ?

--

incognito () Updated Almost Daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #1
12 4041
> What is /IBMDA400.DataSource.1/ ?

Introduction: .NET uses .NET Data Providers.

- You have "native" .NET Data Providers for Oracle, SQL Server (provided by
MS) and maybe for IBM (provided by IBM, if any).

- There is a special .NET Data Provider: The Microsoft .NET Data Provider
for OLEDB, which on the contrary to "native" .NET Data Providers, needs an
old OLEDB Provider to work, and should be used when no native .NET Data
Providers is available for a database.

So:

"Provider=IBMDA400.DataSource.1" specifies the OLEDB Provider that the
Microsoft .NET Data Provider for OLEDB must use. In this case, it specifies
that you want to use the OLEDB Provider for IBM. For example,
Provider=MSDAORA would specify the Microsoft OLEDB Provider for Oracle.
Technically it is the ProgID of the COM class exposed by the OLEDB provider.
The .1 specifies the version-depending ProgID.
"Provider=IBMDA400.DataSource" would be the version-independent ProgID.
Is that an ODBC driver?
No.
Is it built into .net 1.1 ? Or do I have to install something else?
The Microsoft .NET Data Provider for OLEDB is supplied by the .NET
Framework. This provider is a .NET-OLEDB bridge which needs an OLEDB
Provider. Some OLEDB Providers for Oracle and SQL Server are supplied by
Microsoft in Microsoft Data Access Components (MDAC), but for IBM you have
to get it presumably from IBM Corp.
Is it part of the IBM CAE ( Client Access Express ) Utilities?
It could be, check with IBM docs.
Does CAE have to be installed on the client to be able to use
IBMDA400.DataSource.1 ?


It's very likely, since .NET Data Providers, OLEDB Providers or ODBC drivers
need the native client DLLs to connect to the database.

Notice that you are using the Microsoft .NET Data Provider for OLEDB with
an OLEDB Provider for IBM. Another approach is to avoid OLEDB and use a
"native" .NET Data Provider for IBM, if IBM offers it. Since you avoid the
bridge component, the performance can be better.

--

Carlos J. Quintero

MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com

Nov 16 '05 #2
Carlos J. Quintero [.NET MVP] wrote:
Notice that you are using the Microsoft .NET Data Provider for OLEDB with
an OLEDB Provider for IBM. Another approach is to avoid OLEDB and use a
"native" .NET Data Provider for IBM, if IBM offers it. Since you avoid the
bridge component, the performance can be better.


There is a provider up on IBM's site, but it's still in beta. I will
try it though.

I have tried ODBC and OleDb.

The time to do a connection in OleDb is /significantly/ longer than when
using ODBC -- but with OleDb I don't have to do any configuration in the
CAE to create the ODBC source.

I'd really like to get away from the CAE since there are versioning
problems with other apps, and I'd like to stay as pure .net as possible.

Thanks for the info on OleDb.

--

incognito...updated almost daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #3
Keith wrote:
Carlos J. Quintero [.NET MVP] wrote:
Notice that you are using the Microsoft .NET Data Provider for OLEDB
with an OLEDB Provider for IBM. Another approach is to avoid OLEDB and
use a "native" .NET Data Provider for IBM, if IBM offers it. Since you
avoid the bridge component, the performance can be better.


There is a provider up on IBM's site, but it's still in beta. I will
try it though.


search for: Redistributable DB2 Run-Time Client Lite

on IBM's site. That's the .NET provider and it's not beta anymore.

Frans.

--
------------------------------------------------------------------------
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Nov 16 '05 #4

"Keith" <it****@keith.me> escribió en el mensaje
news:L3*****************@newsread3.news.pas.earthl ink.net...
The time to do a connection in OleDb is /significantly/ longer than when
using ODBC -- but with OleDb I don't have to do any configuration in the
CAE to create the ODBC source.


You can use ODBC DSN-less connections, no need to create ODBC data sources
in the Control Panel, etc. You use "Driver={...};...". Search the concept on
Google or visit
http://www.able-consulting.com/MDAC/...BC_DSNLess.htm

--

Carlos J. Quintero

MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com

Nov 16 '05 #5

I downloaded and installed the DB2 Run Time Client Lite Installer, US
English.

After running this install, two entries in the start menu appeared:
Command Line Window and Command Line Processor.

I did not see any documentation.

What are the DB2 Client Merge Modules ?

Do I need to install those as well?

Just by installing the Run Time Client Lite Installer, can I now use
OleDb for .NET using the IBM?

Is the provider still "IBMDA400.DataSource.1"


Frans Bouma [C# MVP] wrote:
Keith wrote:
Carlos J. Quintero [.NET MVP] wrote:
Notice that you are using the Microsoft .NET Data Provider for OLEDB
with an OLEDB Provider for IBM. Another approach is to avoid OLEDB
and use a "native" .NET Data Provider for IBM, if IBM offers it.
Since you avoid the bridge component, the performance can be better.


There is a provider up on IBM's site, but it's still in beta. I will
try it though.

search for: Redistributable DB2 Run-Time Client Lite

on IBM's site. That's the .NET provider and it's not beta anymore.

Frans.

--

incognito () Updated Almost Daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #6
C.E.O. Gargantua wrote:
I downloaded and installed the DB2 Run Time Client Lite Installer, US
English.

After running this install, two entries in the start menu appeared:
Command Line Window and Command Line Processor.

I did not see any documentation.
Also not in vs.net? The .NET provider has an integrated help addition
for vs.net and vs.net designers.
What are the DB2 Client Merge Modules ?
those are for when you create an application using teh DB2 provider and
you want to include the provider in your installer. I.o.w.: you don't
need them to access a db2 system
Do I need to install those as well?

Just by installing the Run Time Client Lite Installer, can I now use
OleDb for .NET using the IBM?
You can use the IBM.Data.DB2.dll assembly, which is the native .NET
provider, so you don't need OleDb anymore. (located in X:\Program
Files\IBM\SQLLIB\BIN\netf11 )
Is the provider still "IBMDA400.DataSource.1"
however! I see you use the AS/400 OleDb driver here (if I'm not
mistaken) and the .NET provider for DB2 doesn't support AS/400
(according to the docs, haven't tried it myself, I don't have an as/400
box )

Frans.


Frans Bouma [C# MVP] wrote:
Keith wrote:
Carlos J. Quintero [.NET MVP] wrote:

Notice that you are using the Microsoft .NET Data Provider for
OLEDB with an OLEDB Provider for IBM. Another approach is to avoid
OLEDB and use a "native" .NET Data Provider for IBM, if IBM offers
it. Since you avoid the bridge component, the performance can be
better.
There is a provider up on IBM's site, but it's still in beta. I will
try it though.


search for: Redistributable DB2 Run-Time Client Lite

on IBM's site. That's the .NET provider and it's not beta anymore.

Frans.


--
------------------------------------------------------------------------
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Nov 16 '05 #7
Frans Bouma [C# MVP] wrote:
Also not in vs.net? The .NET provider has an integrated help
addition for vs.net and vs.net designers.
Mmm...I searched for IBM and DB2 in Visual Studio and and don't see
anything specific to IBM.Data.DB2

Can you tell me what the location is?
You can use the IBM.Data.DB2.dll assembly, which is the native .NET
provider, so you don't need OleDb anymore. (located in X:\Program
Files\IBM\SQLLIB\BIN\netf11 )
Ok, I found this, and added as a reference.

But I'm still left with the detail of what I should put in for, say
..ConnectionString

DB2Connection db2 = new DB2Connection();
db2.ConnectionString= ... ?
however! I see you use the AS/400 OleDb driver here (if I'm not
mistaken) and the .NET provider for DB2 doesn't support AS/400
(according to the docs, haven't tried it myself, I don't have an as/400
box )


Well, it's an iSeries. Isn't DB2 the same across IBM's hardware product
lines?


--

incognito () Updated Almost Daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #8

ok, here's the api reference:

http://publib.boulder.ibm.com/infoce...ClassTopic.htm

C.E.O. Gargantua wrote:
Frans Bouma [C# MVP] wrote:
Also not in vs.net? The .NET provider has an integrated help
addition for vs.net and vs.net designers.

Mmm...I searched for IBM and DB2 in Visual Studio and and don't see
anything specific to IBM.Data.DB2

Can you tell me what the location is?
You can use the IBM.Data.DB2.dll assembly, which is the native
.NET provider, so you don't need OleDb anymore. (located in X:\Program
Files\IBM\SQLLIB\BIN\netf11 )

Ok, I found this, and added as a reference.

But I'm still left with the detail of what I should put in for, say
.ConnectionString

DB2Connection db2 = new DB2Connection();
db2.ConnectionString= ... ?
however! I see you use the AS/400 OleDb driver here (if I'm not
mistaken) and the .NET provider for DB2 doesn't support AS/400
(according to the docs, haven't tried it myself, I don't have an
as/400 box )

Well, it's an iSeries. Isn't DB2 the same across IBM's hardware product
lines?

--

incognito () Updated Almost Daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #9

According to :

http://publib.boulder.ibm.com/infoce...ClassTopic.htm

The DB2 .NET Data Provider allows your .NET applications to access the
following database management systems:

* DB2 Universal Database Version 8 for Windows, UNIX, and
Linux-based computers
* DB2 Universal Database Version 6 (or later) for OS/390 and z/OS,
through DB2 Connect

* DB2 Universal Database Version 5, Release 1 (or later) for AS/400
and iSeries, through DB2 Connect
* DB2 Universal Database Version 7.3 (or later) for VSE & VM,
through DB2 Connect


Frans Bouma [C# MVP] wrote:

however! I see you use the AS/400 OleDb driver here (if I'm not
mistaken) and the .NET provider for DB2 doesn't support AS/400
(according to the docs, haven't tried it myself, I don't have an as/400
box )


--

incognito () Updated Almost Daily
http://kentpsychedelic.blogspot.com
Nov 16 '05 #10
C.E.O. Gargantua wrote:

According to :

http://publib.boulder.ibm.com/infoce...ClassTopic.htm
The DB2 .NET Data Provider allows your .NET applications to access the
following database management systems:

* DB2 Universal Database Version 8 for Windows, UNIX, and
Linux-based computers
* DB2 Universal Database Version 6 (or later) for OS/390 and z/OS,
through DB2 Connect

* DB2 Universal Database Version 5, Release 1 (or later) for AS/400
and iSeries, through DB2 Connect


Nice :) However if I check the docs coming with the provider:
Supported DB2 servers and system requirements

Supported DB2 servers Client system requirements
DB2 Universal Database for Linux, UNIX, and Windows, Version 8.1
Microsoft Visual Studio .NET 2002
DB2 Universal Database for Windows, Version 8.1

DB2 Universal Database for z/OS or OS/390, Version 7 and 8 Microsoft
Visual Studio .NET 2002
DB2 Universal Database for Windows, Version 8.1

No AS/400. But perhaps it is updated since I installed it, which is a
good thing :D. I wonder what 'through DB Connect' means though: does the
..NET provider automatically pick the right client or do you have to
state something in the connection string... I'll check hte link you
provided as the docs I have (which came with the DB2 personal edition v8
(which installs the .NET provider as well) don't mention this.

You don't have any integrated help in vs.net ?

FB
Nov 16 '05 #11
> > * DB2 Universal Database Version 5, Release 1 (or later) for AS/400
and iSeries, through DB2 Connect
I wonder what 'through DB2 Connect' means though


DB2 Connect is a server-side product from IBM (which needs to be licensed
independently). The functionality is similar in some areas to Microsoft's
Host Integration Server product.

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Nov 16 '05 #12
Robert Bruckner [MSFT] wrote:
* DB2 Universal Database Version 5, Release 1 (or later) for AS/400
and iSeries, through DB2 Connect


I wonder what 'through DB2 Connect' means though

DB2 Connect is a server-side product from IBM (which needs to be licensed
independently). The functionality is similar in some areas to Microsoft's
Host Integration Server product.


Ah thanks, so that's totally transparent then for the client. :)

Frans.

--
------------------------------------------------------------------------
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Nov 16 '05 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Chris Thunell | last post by:
I have a program where i connect to an access database and get some information out of it. I'm using the oledb.3.51 version, my computer doesn't seem to have the 4.0 version, but the computer that...
12
by: Parking Meters | last post by:
Today I managed to get the OleDB provider to let me put datasets from an as400 using sql. Great, the provider string I used is: Provider=IBMDA400.DataSource.1;User ID=XXXXX;Password=XXXX;Data...
4
by: NS | last post by:
Hi, I am trying to execute a prepare statement using oledb provider for DB2. The command.Prepare() statement is giving me an exception " No error information available:...
2
by: Joe | last post by:
Hi All, I am new to using the Access DB and I need some help if someone is able to give it to me. What I want to do is get the names of the columns of certain tables. Not the data in the table...
7
by: aacool | last post by:
Hi, I've been trying to open an Excel connection through OLEDB with the code below: string ConnectString =@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + fileName.Text +...
1
by: Mark Ogilvie | last post by:
Hi I'm new to C#, and have a problem which I'm sure is simple. I have the following 3 lines of code: string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data...
2
by: Martin | last post by:
Hi, I currently have an application that connects to an MS ACCESS database. This application uses an OLEDB connection string for MS ACCESS. Now, I'd like to upsize the application so I converted...
5
by: petro | last post by:
Hello all, My asp.net web application works on my machine but I get the following error on our test web server, There is only one oracle home on the test server. Does anyone know how to resolve...
0
by: alasdair.johnson | last post by:
A bug I noticed which doesn't seem to be posted on usenet, nor recognized by Oracle (who didn't want to help unless we had been using their ADO.NET provider...): We used to retrieve the sequence...
1
by: ErikJL | last post by:
I have a simple webservice that performs a SELECT query against a database, and then an INSERT statement on the same database/table. The problem arises at the time when we create the second OleDB...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.