Link to home
Create AccountLog in
Avatar of Jon Jaques
Jon JaquesFlag for United States of America

asked on

Where to find ODBC driver for AS400/DB2?

I need to access a table in a DB2 database on an AS400 system. The goal is to create a linked table in MS Access so that additional relational data from other parts of the clients' business can be associated with records within that table.

I presume that I'll need to get an ODBC driver from IBM, but can't seem to find it on their website, much less determine the cost of it.

Could somebody please point me in the right direction?

Thanks in advance!

--Jon
Avatar of Chuck Wood
Chuck Wood
Flag of United States of America image

I use a function to get data from a DB2 database on the AS/400.
Public Sub SampleCode()
    Dim strSQL As String, blnGood As Boolean, avarData() As Variant
    strSQL = "SELECT * FROM DB.TABLE WHERE FIELD='VALUE'"
    blnGood = AS400GetData("UserName", "Password", strSQL, "LPAR/SYSTEM", avarData)
    If blnGood Then
        ' use the data
    End If
End Sub
 
Public Function AS400GetData(ByVal strUserName As String, _
  ByVal strPassword As String, ByVal strSQL As String, _
  ByVal strSystem As String, ByRef avarData() As Variant) As Boolean
' set up error handling
On Error GoTo ErrorHandler
    ' set the initial state of the function
    AS400GetData = False
    ' open a connection to the AS400
    Dim cnn As New ADODB.Connection
    cnn.Open "Provider=IBMDA400;Data Source=" & strSystem & _
        ";User ID=" & strUserName & ";Password=" & strPassword & ";"
    ' using a recordset, get the data and field names
    Dim rst As New ADODB.Recordset
    With rst
        ' open the recordset
        .Open strSQL, cnn
        ' if data was found,
        If Not .EOF Then
            ' get the data
            avarData = .GetRows
            ' eliminate leading and trailing spaces in the data elements
            AS400TrimData avarData
            ' indicate data was retrieved
            AS400GetData = True
        End If
        .Close
    End With
    ' close the connection
    cnn.Close
    ' clean up
    Set rst = Nothing
    Set cnn = Nothing
ExitHere:
    Exit Function
ErrorHandler:
    MsgBox "Error:" & Err.Number & vbNewLine & _
        "Description:" & Err.Description & vbNewLine & _
        "From:" & Err.Source, vbExclamation, _
        "AS400GetData Failed"
    Resume ExitHere
End Function

Open in new window

Avatar of Scott McDaniel (EE MVE )
IBM ODBC Driver ships as part of the installation media for IBM Client Access (iSeries Access, System i Access, whatever) that comes with every AS/400.  There is no additional fee for using or installing this product.

If you don't have or can't find your copy of the installation kit, IBM or your IBM Business Partner can help you order replacement media.

- Gary Patterson
Avatar of Jon Jaques

ASKER

Interesting!

LSM: So it looks like MS provides an ODBC driver for DB2... I was thinking for sure I'd have to buy one from IBM! I don't yet see a download link from that page, but I'll dig some more and see what I can come up with, maybe I should've been looking on the MS site from the start.

CWood: Nice DSNless connection! However, I prefer to "link" to the table so that updates to the AS400 are always automatically reflected to the Access database. Nonetheless, did you have to install additional software to make that work? I don't see any evidence of that provider on my system, even though I have tons and tons of MS development software and sdks installed.

Okay, I just noticed that that LSMs' link comes from the section of "Host Integration Server", which is actually what I first thought I'd need, but then I thought that that was overkill, that maybe I could get *just* the ODBC driver.

Anybody got a feel for HIS, what it is, and how it fits into the Windows Server picture? Do I need it all, can I use just parts, etc.?

Thanks!
Gary: Aha, there we go, that must be what I'm missing, I need to speak to the other IT guy at the client site. No MS Host Integration Server needed? Our needs are so basically simple that I hate to add unneccessary puzzle pieces to support!
ASKER CERTIFIED SOLUTION
Avatar of Gary Patterson, CISSP
Gary Patterson, CISSP
Flag of United States of America image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
<Nonetheless, did you have to install additional software to make that work?>

The only additional software I have installed is the IBM Client Access.
Thank you very much, that's exactly what I needed to know!