Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method CodeColorerLoader::CallBeforeHighlightCodeBlock() should not be called statically in /home/iloveitaly/mabblog.com/blog/wp-includes/plugin.php on line 170
Strict Standards: Non-static method CodeColorer::GetInstance() should not be called statically in /home/iloveitaly/mabblog.com/blog/wp-content/plugins/codecolorer/codecolorer.php on line 218
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/iloveitaly/mabblog.com/blog/wp-content/plugins/codecolorer/codecolorer-core.php on line 53
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/iloveitaly/mabblog.com/blog/wp-content/plugins/codecolorer/codecolorer-core.php on line 54
Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method CodeColorerLoader::CallAfterHighlightCodeBlock() should not be called statically in /home/iloveitaly/mabblog.com/blog/wp-includes/plugin.php on line 170
Strict Standards: Non-static method CodeColorer::GetInstance() should not be called statically in /home/iloveitaly/mabblog.com/blog/wp-content/plugins/codecolorer/codecolorer.php on line 226
Recently I was involved in a project moving a company’s files from a old 2003 windows exchange server to a mac mini server setup. The first setup was to move from Exchange’s email and calendaring to Google Apps. After that step was complete we moved the shared files drive over to thunderbolt RAID 5 storage attached to a mac mini server device. The transition was pretty smooth, however there was one problem which wasted a significant amount of time.
The accountant’s in the organization use QuickBooks 2010 for all accounting purposes. Moving to a hosted solution was not an option, and they needed multi-user access to the file (2-3 people could be working on the same quickbooks file at any given moment). Our old 2003 server had quickbooks database server installed which seemed to work fine. Unfortunately, if you are not an ‘enterprise’ quickbooks customer there is no linux version of the database server available. There was an old windows box lying around (fairly fast: dual core 2.8ghz, 3GB ram) that would be a perfect fit (or so I thought…) for a quickbooks server. Wiped the box, installed Windows XP with all updates, removed all crapware, installed quickbooks database software, but had significant trouble getting quickbooks database server to work correctly.
I ran the QuickBooks Network Diagnostic tool, but it did not report any errors. When opening the QuickBooks file from a client machine in multi-user machine the login prompt would come up fine, but after entering the correct login information it would time out with an error message stating a connection issue (H202) and suggesting using an ‘alternative’ method (there was a significant delay in between initiating login and getting a response). Note that QuickBooks at this stage would correctly report an incorrect password.
The network setup in the location where this was occurring had a local server running DNS. The QuickBooks server had a static IP set.
Here are some general notes on setting up QuickBooks:
- Some mentioned that anti-virus software on the client machine causes slow operation. This didn’t seem to make in a difference in my case.
- Tried turning firewall off on server + client machines: no difference (proper port settings were already in place)
- Pulling data off of the shared QuickBooks folder on the XP machine wasn’t bad: 15MB/sec on a badly engineered 10/100 network (there are 5-port 10/100 switches in probably 5-10 locations around the office)
- Opening the QuickBooks file in single-user mode from a client machine worked fine
- Launching QuickBooks 2010 on the server and opening the file in multi-user mode, then opening the file from client machines worked fine as well
- The significant delay between the login screen and the error messages pointed to some sort of look-up timeout, but given that file access to the machine was fine, this didn’t make a ton of sense. However, this seemed to be part of the issue.
- It is important that the daemon process for QuickBooks Database Server is part of the administration group
- On another note: some great information on backing up QuickBooks
- How to schedule backups of QuickBooks from the QB Pro interface
What finally fixed the problem was adding the computer-name (aka server name or BIOS name) to the hosts file. Opening up quickbooks is still painfully slow, but at this point it works.
After moving (and completely eliminating the windows server from the network) problems ended up cropping up again. QuickBooks seemed to rely on the WINS (a crappy windows replacement for DNS) server to some extent. After editing the lmhosts file (same location as hosts file in windows) and manually adding the NetBIOS entries everything seemed to work. Note that there is not a lmhosts file by default! There is a lmhosts.sam (should for sample). To active the file you have to remove the extension (watch out for hidden extensions). On the machines that are using quickbooks both the hosts and lmhosts file have manual entries for the QB server. Not sure if this is necessary, but it worked.
The Windows XP QuickBooks Server will seemingly disappear from the network. You can still ping the machine, still access it directly via mouse + keyboard, but accessing the file system or connecting to the quickbooks database will cease to work. I don’t have enough windows knowledge to know if this is a windows bug or not, but I’ve scheduled an automated restart twice a week and this seems to fix the issue.