I was recently installing vCenter 4.1 U1 on and Windows 2008 R2 Server which was utilising a remote SQL 2005 Server listening on a non standard port when the "Perf Charts service experienced an internal error" reared its head.
Trawling the web and the vmware forums pointed to the following as the solution: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=102120... but no matter what I did I could not get that to work. Stats.log seemed to show that the contents of vcdb.properties were being ignored.
After much head scratching I took the following steps:
1) Deleted the Server Alias created by the SQL Native Client from the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo
2) Modified the dsn (odbc) connection to specify hostname,port :
3) Put vcdb.properties back to its original state ie usevcdb=true
4) Restarted the VMware VirtualCenter Management Webservices service .
All fixed. This may be of use should you use a similar configuration and experience a similar issue.
The screenshot was especially helpful from your post. I have been plauged with the same problem for over a year off and on. I could fix it temporarily in the Tomcat web apps, but each update overwrote the "fixes". The solution was simply syntax related on my DSN connection. I changed the server to "<host>,<port>" format and everything works great now. VMware support has not caught that issue in 3 cases over the course of a year! I had previously tried <host>:<port> and it did not.
Thanks!
You are welcome, I am glad it fixed it for you too.
Also wanted to share my thanks for this post. We went through several different potential fixes before I stumbled on your thread. For me, I didn't do anything with the "ConnectTo" registry string. I just added the port to the server field in the ODBC DSN. As soon as I restarted VMware VirtualCenter Management Webservices, success, everything started working!