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.

    Tuesday, September 25, 2007 9:51 AM

All replies