RE: MS Access/MyODBC Interface Issue
[email protected] Fri, 14 Jan 2011 10:42:48 -0500
| Newsgroups | gmane.comp.db.mysql.odbc |
|---|---|
| Message-ID | <OF0E501FE9.8C13D2AB-ON85257818.004D3AC8-85257818.005652D1@jgh.mcgill.ca> |
I'm pretty sure that the locking mechanism issues in Access have nothing with MySQL Server but rather either Access, ODBC or the MySQL ODBC Driver. Simple case of point, if you have a record "locked" under Access, you can still update it through a direct MySQL query (I usually use MySQL Query Browser though MySQL WorkBench does the trick too). Chances are that MS SQL will not have these issue since the driver is diffenrent and I'm expecting Microsoft has less issues interfacing with their own stuff then (now) Oracle... However I've never tested MS SQL for various reasons and I can't say for sure. - Sebastien Caisse From: "Lawson K. Cronlund" <[email protected]> To: "'Jerry Schwartz'" <[email protected]>, <[email protected]> Cc: <[email protected]> Date: 2011/01/13 16:47 Subject: RE: MS Access/MyODBC Interface Issue I'm still looking for probable causes for the problem that I'm experiencing. The scenario is that when showing a linked view of a MySQL table in MS Access I get the following results: 1. Add an 'x' to the end of a CHAR field in the view. 2. Move off the record that's been modified to the adjacent record. 3. The record shows in the MS Access window as changed according to the change made. 4. Move the cursor back to the originally modified record and edit the field previously modified to restore it to the original value. 5. At this point I get a warning message from MS Access that the record has been modified by someone since I modified it and the change cannot be applied. 6. I click OK in the warning message and again make the change which works this time. This is the simplest description I can come up with from a user's viewpoint. I have also simplified all the fields in my database to CHAR, DATETIME, TIMESTAMP, and INT to try to comply with all the warnings about views and MS Access on the web. My expectation is that when the first change is made and I move from the record, that the record would actually be updated in the MySQL data base and the change committed and the record available for editing again. My expectation was that this would be what happened (and does seem to be what happens if I work directly with the underlying table instead of through the view), but, instead, it seems that the record in the MySQL database is still identified as locked or some such status so that when I return to it and attempt to edit it again, MySQL returns a locked status and MS Access reports that someone else has edited the record since I made my change. But the locked status is cleared by something MS Access does which restores the record status. Then I can edit the record again, leaving it in the same status as before. It's almost as if MS Access thinks the lock is released but the lock is still in place in the MySQL database - if locking is involved at all. This would be fine if I could bury the "retry" inside MS Access but that doesn't seem possible in my situation because of the distributed approach planned for the users of this database. I think I'll try MS SQLServer to see if the same problem exists there. MS Access linked to MS SQLServer might be a better integration although it doesn't look hopeful from the statements that I see on the web. If anyone has a suggestion on how I can use the userid approach to limit access to specific areas of a table in MySQL and avoid views, I'd be happy to experiment with that approach. There were several suggestions made on this list that gave me research approaches and good information and I'd like to thank all of you who responded to my plaintive request. I'm just glad that I'm starting into a database development instead of trying to do the much bigger and restricted job of migrating/preserving an existing database as some have indicated in their posts. Regards. Lawson Cronlund [email protected] +1(480)308-0641 -- MySQL ODBC Mailing List For list archives: http://lists.mysql.com/myodbc To unsubscribe: http://lists.mysql.com/[email protected]