Sounds strange, but we got these things together.
The problem occured when we installed the BusinessObjects Enterprise XI Release 2 Fix Pack (FP2.5). The Center Management Service(CMS) could not be started and it continues to complain:
"Failed to get database connection string from the system"
or
"Failed to write database connection string to registry"
First I though it might be caused by the registry key change after the FP installation. But no matter how I tried (reset configuration, restart computer, etc), there’s no luck. The error message remains.
After calling the 800 customer support hotline and searching on the internet, we found this useful link:
http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do;jsessionid=7C2327DAA8AF9CE72FB7589CD3200E2C?cmd=displayKC&docType=kc&externalId=c2018758&sliceId=&dialogID=9346926&stateId=1%200%209344712
I recalled that we also installed PHP on the server on which BusinessObjects products were installed. And a special extension is enabled: curl. This extension needs two additional dll files to be present in the PATH variable: “libeay32.dll” and “ssleay32.dll“.
First I put these two files in the PHP installation directory and add that to the PATH, but the information from phpinfo() shows that this extension is not properly installed. So I dig into “system32” folder and found another one(”libeay32.dll“) there. I didn’t check the version at that time, just replace the file. Then curl begins to work on PHP.
Later, when we install the FP2.5, the problem occured. The file “libeay32.dll” within the product is used for SSL operation. I checked its version and figured out that BusinessObjects has re-compile it and give it a different version number, which is compatible with their product line - 11.5.8.826. Actually the relevant version from openssl is 0.9.6.
But during the upgrade process it could not replace the “libeay32.dll” because this file is used by apache. So when the CMS tried to start, it failed to retrieve an expected version number from the dll file and throw that weird message.
Finally I got the solution:
Replace the “libeay32.dll” in “system32” with the one that comes along with BusinessObjects products, and put “libeay32.dll” and “ssleay32.dll” that come along with PHP into “apache\bin” folder. Thanks to god, the “apache\bin” folder has higher priority than the “system32” folder. Then the two (BusinessObjects and PHP/Curl) both works.
Just wondering why the CMS throws such a misleading message …