Detecting the Version of the Installed SalesLogix OLE DB Provider

As you likely know, the connection string for the SalesLogix OLE DB Provider changes for version 6.2 of SalesLogix. Now your custom applications that use a connection via the provider will need to be changed. But what about applications that need to be able to work with both versions – for example a commercial application? Sure, you could release two different versions of your application, but why? It is easy enough to read the registered provider information from the registry to detect the version of the SalesLogix provider at run time and then use the appropriately formatted connection string.

This sample C# code will set a checkbox on a Windows form based on the version of the SalesLogix provider installed.

using Microsoft.Win32;
//...

RegistryKey key = null;
try
{
    key = Registry.ClassesRoot.OpenSubKey("SLXNetwork.1");
    checkbox61.Checked = key != null;

    key = Registry.ClassesRoot.OpenSubKey("SLXOLEDB.1");
    checkbox62.Checked = key != null;
}
finally
{
    if (key != null) key.Close();
}

Of course, in your application you would use this logic to determine the version of the SalesLogix Provider installed so you can modify the connection string accordingly. Make your applications smart enough to find things out on it’s own.

Update: This post was converted to a full article on slxdeveloper.com. See http://www.slxdeveloper.com/page.aspx?action=viewarticle&articleid=56

ABOUT THE AUTHOR

Ryan Farley

Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix, now Infor CRM, since 2001 and believes in sharing with the community. His new passion for CRM is Creatio, formerly bpm'online. He loves C#, Javascript, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

1 Comment

  1. Ryan,

    Great article! Very informative. Hey I was wondering if you have ever run into a problem like the one I am having? I am trying to use the provider to connect but there is a firewall in between. Ports 1706, 1707 and 1433 are open but I am receiving the following error?

    OpenRDA OLE DB error ‘80004005’

    RDA error: Resource not available – SalesLogix OLEDB Security – Open Connection [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!