John W. Colby
jwcolby at colbyconsulting.com
Mon Jan 24 14:58:16 CST 2005
How much data? Can it export it to an XML file in a location where your fe can use it? XML has a high overhead but can be useful in cases like this. John W. Colby www.ColbyConsulting.com Contribute your unused CPU cycles to a good cause: http://folding.stanford.edu/ -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Roz Clarke Sent: Monday, January 24, 2005 10:23 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Data from Informix to Access - dirty reads? Hi all We have a bit of a problem with getting data out of our Informix server since we recently turned on transaction logging for replication. When extracting data with an Access XP MDE using pass-through queries, Access locks entire tables in the Informix database, which causes transaction errors and makes the Informix database scarily unstable. Our Informix suppliers told us that the way to avoid these locking issues was to set the connection to 'dirty read' before running the SQL. However, Access cannot execute 2 statements in a pass-through query and it does not hold the connection open between the execution of 1 statement and the next. Thus when the query is processed the 'dirty read' setting is no longer in effect. We have been racking our brains trying to come up with a workaround. Some further options that we have considered are: * Stick the data in a temp table in Informix. This is no good because the temp table is destroyed automatically when the connection is closed and there's no way to make it persist long enough to bind it to a report. * Use a view in Informix. This is no good because views in Informix cannot be set read-only. * Create a permanent table in Informix and destroy it when finished with it. This is far from ideal because Informix does not support SELECT INTO and therefore a table would have to be explicitly constructed with names columns etc. We really need the system to be flexible so that the queries can be easily changed. * Use an ADO recordset. This is a PITA because you cannot bind a report to a recordset in an MDE and we cannot build the report on the fly - we are a Terminal Services site so we will have up to 20 users in one FE. * Create a table in Access and destroy it when finished with it. Can't think of a better way to induce bloating... Has anyone faced this kind of problem before? Any bright ideas? Our foreheads are starting to bleed... TIA Roz (and Tom)