My first question on these forums, so here goes.

I'm nearly finished developing a web-based app that reads information from various databases, analyses it accordingly (unique for each graph) and ultimately displays it on the web browser. I opted to create the graphs as an image server-side so they can be saved to a directory and to accomadate older mobile browsers, which were less supportive for client-side graph libraries, however, I've managed to make it so that it is a bit interactive. The environment I have to use is the Microsoft SQL SQLExpress 2012, which uses its own dialect of Transact SQL (T-SQL) and the servers run on Windows 2003.

Every now and then I get this random error, which is infuriating since I have no idea what to do to fix it. I've Googled it and I'm not the only one that's getting it. Currently, it is running off a 64-bit server, which is several years old (newest of all the servers as far as I know) and runs the queries extremely fast. Unfortunately, it's getting the following error:
Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 7340 [code] => 7340 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot create a column accessor for OLE DB provider "IBMDA400" for linked server "M". [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot create a column accessor for OLE DB provider "IBMDA400" for linked server "M". ) )

IBMDA400 refers to the full name of the provider, which is IBM DB2 UDB for iSeries IBMDA400 OLE DB Provider.

It doesn't matter what the T-SQL happens to be, anything only a SELECT * FROM ... to a 80-line script, it results in this sometimes. Other times, it works perfectly, runs very fast and this error never shows up. I've also found that 64-bit OS tend to get this error more often, even when the script is error-free.

I have access to another server, however, it's at least 10-11 years old and is painfully slow, so much so that the graph simply doesn't load because the web server times out. This older server doesn't support SQLExpress, it has the full SQL Server.

Does anyone have a work-around for this or a way that can get this to not randomly error out?