Registering Multiple Providers

Each provider on a computer will have a different ProgID to point to the same OLE DB Simple Provider DLL (Msdaosp.dll). This assignment of ProgIDs is necessary to call the correct method implementations.

Following is an example of the registry entries under the CLSID key that the developer needs to supply for two providers built with the OSP Toolkit, with both residing on the same computer. (The redundant registry entries listed under the ProgID and Version-Independent ProgID name keys are not shown.)

//************************************************
//****** REG ENTRIES FOR PROVIDER 1 **********
//************************************************

CLSID
   {CLSID FOR PROV #1}
      InprocServer32
         (Default) = "C:\PROGRAM FILES\COMMON FILES\
                        SYSTEM\OLE DB\MSDAOSP.DLL"
         Threading Model = "Both"
      ProgID
         (Default) = {PROGID FOR PROVIDER #1}
      VersionIndependentProgID
         {VERSION INDEPENDENT PROGID FOR PROVIDER#1}
      OSP Data Object
         {PROGID FOR OSP DATA OBJECT #1}

//************************************************
//****** REG ENTRIES FOR PROVIDER 2 **********
//************************************************

CLSID
   { CLSID FOR PROV #2}
      InprocServer32
         (Default) = "C:\PROGRAM FILES\COMMON FILES\
                        SYSTEM\OLE DB\MSDAOSP.DLL"
         Threading Model = "Both"
      ProgID
         (Default) = {PROGID FOR PROVIDER #2}
      VersionIndependentProgID
         {VERSION INDEPENDENT PROGID FOR PROVIDER#2}
      OSP Data Object
         {PROGID FOR OSP DATA OBJECT #2}

//***************** END **************************

Important

This feature will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Instead, write a fully functional OLE DB provider using the native OLE DB interfaces.