English

Problem: Informix 2.60 OLE DB provider fails to show up in the Data Link Properties dialog box

Description

After installing the Informix 2.60 OLE DB provider, which is available with the Informix Client SDK CLIENT SDK 2.70.TC1-1 pack, the provider does not appear in the list of available OLE DB providers in the Data Link Properties dialog box in ArcGIS.

Cause

This is a known issue.

Solution or Workaround

Although the provider is not available through the user interface, it may be referenced programmatically.

The following VBA code example illustrates how to add an Informix table to an ArcMap document.

Code:
Public Sub add_oledb_table()

On Error GoTo EH

'++ Provider = Informix 2.60 OLE DB provider

'++ Create and populate a new property set
Dim pPropset As IPropertySet
Set pPropset = New PropertySet
pPropset.SetProperty "CONNECTSTRING", "Provider=ifxoledbc.2;Data source=<my informx data source>;User ID=<my Informix username>;Password=<my Informix password>"

'++ Create a new workspacefactory/workspace
Dim pWorkspaceFact As IWorkspaceFactory
Set pWorkspaceFact = New OLEDBWorkspaceFactory

Dim pWorkspace As IWorkspace
Set pWorkspace = pWorkspaceFact.Open(pPropset, 0)
If Not pWorkspace Is Nothing Then
Dim pFeatWorkspace As IFeatureWorkspace
Set pFeatWorkspace = pWorkspace

'++ Create and open the new table object
Dim pTable As ITable
Set pTable = pFeatWorkspace.OpenTable(<my table>)

'++ Create a table collection and assign the new table to it
Dim pStTab As IStandaloneTable
Dim pStTabColl As IStandaloneTableCollection
Dim pMap As IMap
Dim mx As IMxDocument
Set mx = ThisDocument
Set pMap = mx.FocusMap
Set pStTab = New StandaloneTable
Set pStTab.Table = pTable
Set pStTabColl = pMap
pStTabColl.AddStandaloneTable pStTab

'++ Update the document
mx.UpdateContents

'++ Create and open a new table window for the table
Dim ptabWin As ITableWindow
Set ptabWin = New TableWindow
Set ptabWin.Table = pTable
ptabWin.ShowAliasNamesInColumnHeadings = True
Set ptabWin.Application = Application
ptabWin.Show True

End If '++ end of workspace check

Exit Sub

EH:
MsgBox Err.Description, vbInformation, "add_oledb_table"

End Sub