none
OLEDB and Side-By-Side execution RRS feed

  • Question

  • I'm now experimenting with usage of Sybase OLEDB driver library (ASE 12.5) as SxS assemby. I've created application and assembly manifests and the following C# code executed without any  warnings or errors

    using(OleDbConnection conn = new OleDbConnection("Provider=Sybase.ASEOLEDBProvider.2;Server Name=serverName;Server Port Address=5000;Initial Catalog=dbName;User ID=userPassword=pass;"))
    {
      conn.Open();
      using (OleDbCommand cmd = conn.CreateCommand())
      {
       //...
      }
    }

    It seems that behaviour is completely identical with library registered in common way (regsvr32 <library>.dll) but there are some differences. This is part of registry keys hierarchy created by DllRegisterServer:
    HKCR\CLSID\<dataprovider-clsid>->ExtendedErrors-><error-lookup-component-clsid>
    HKCR\CLSID\<error-lookup-component-clsid>

    This coclass with CLSID <error-lookup-component-clsid> is used to obtain detailed information about errors. When regsvr32 is used and something wrong happend during execution I receive full-length data about reason, but when I unregister library and use manifests I obtain only "IErrorInfo.GetDescription returns E_FAIL".

    How can I imitate ExtendedErrors subkey with SxS and manifests?

    Thanks for the answers.


    Monday, September 24, 2007 7:25 PM