![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
This a little strange. The link in a FE database get corrupted when the BE get compacted, and the FE is not even open. I have checked. The data is fine in the BE. The data is fine in the link in the FE before compacting the BE. I shutdown the FE and then compact the BE. Open the FE and the data 'looks' corrupt. In data sheet view the first columns on the left are okay. Then the last several rows have been shifted to the right and some ringin data replaces data in the first column to move right. Weird. Unlink the table and relink it and everything is back good again. The link is obviously corrupted. I have restored the files and repeated this and it occurs again. Why? |
#3
| |||
| |||
|
|
"Jeff" <jeff.pritchard (AT) asken (DOT) com.au> wrote You seem to have independently verified that "relink on startup" is good advice. Remember the Solutions 2000 example database had a "relink on startup" section? I'm not certain that it includes an admonition to "relink on _every_ startup" but that is what I do -- and, oh, my, I've been doing it for so long that I don't have a reference to where I heard it. I seem to remember seeing posts indicating similar problems when the System Administrator did some revising of server storage, etc.. Links only contain pointers to data stored elseswhere, so it makes sense that changing the data stored elsewhere could lead to difficulties in accessing it. Larry Linson Microsoft Access MVP |
#4
| |||
| |||
|
|
This a little strange. The link in a FE database get corrupted when the BE get compacted, and the FE is not even open. I have checked. The data is fine in the BE. The data is fine in the link in the FE before compacting the BE. I shutdown the FE and then compact the BE. Open the FE and the data 'looks' corrupt. In data sheet view the first columns on the left are okay. Then the last several rows have been shifted to the right and some ringin data replaces data in the first column to move right. Weird. Unlink the table and relink it and everything is back good again. The link is obviously corrupted. I have restored the files and repeated this and it occurs again. Why? Jeff |
#5
| |||
| |||
|
|
Yes, after compacting the Back End after making Schema changes, you have to re-link or compact the Front End. Although you normally get away with it if you just add a new field to the edge of a table. The odd thing is that you can add a new field in the middle of the table, and links keep working until you compact the back end! Then when you compact the BE, the fields don't line up anymore, and the links are broken. From which we can infer that when you add a new field to a table, the database is not really restructured until you compact. So you would expect performance implications if you added a new field to the middle of table, and did not compact. (david) "Jeff" <jeff.pritchard (AT) asken (DOT) com.au> wrote in message news:43c22ad5$0$12633$5a62ac22 (AT) per-qv1-newsreader-01 (DOT) iinet.net.au... This a little strange. The link in a FE database get corrupted when the BE get compacted, and the FE is not even open. I have checked. The data is fine in the BE. The data is fine in the link in the FE before compacting the BE. I shutdown the FE and then compact the BE. Open the FE and the data 'looks' corrupt. In data sheet view the first columns on the left are okay. Then the last several rows have been shifted to the right and some ringin data replaces data in the first column to move right. Weird. Unlink the table and relink it and everything is back good again. The link is obviously corrupted. I have restored the files and repeated this and it occurs again. Why? Jeff |
#6
| |||
| |||
|
|
"Jeff" <jeff.pritchard (AT) asken (DOT) com.au> wrote in news:43c36292$0$12615$5a62ac22 (AT) per-qv1-newsreader-01 (DOT) iinet.net.au: So it looks like I change my link checking code to delete and remake links to tables, not just update the connection string. That only makes sense if you intend to be constantly changing the schema. While that may be a frequent task during a certain stage of development, for the long term, I'd suggest that you *not* go the delete/recreate route, as it's *much* slower than simply updating the connect string on existing links. I would suggest that you have a custom property in your back end that indicates the schema version. Have your linking code record the back end version number in a custom property in the front end, and have your relinking code check if the versions match. If they don't, delete and recreate. If they do, just update the connection string. That way you're doing the fastest possible relink in all cases. -- David W. Fenton http://www.dfenton.com/ usenet at dfenton dot com http://www.dfenton.com/DFA/ |
#7
| |||
| |||
|
|
"Jeff" <jeff.pritchard (AT) asken (DOT) com.au> wrote in news:43c36292$0$12615$5a62ac22 (AT) per-qv1-newsreader-01 (DOT) iinet.net.au: So it looks like I change my link checking code to delete and remake links to tables, not just update the connection string. That only makes sense if you intend to be constantly changing the schema. While that may be a frequent task during a certain stage of development, for the long term, I'd suggest that you *not* go the delete/recreate route, as it's *much* slower than simply updating the connect string on existing links. I would suggest that you have a custom property in your back end that indicates the schema version. Have your linking code record the back end version number in a custom property in the front end, and have your relinking code check if the versions match. If they don't, delete and recreate. If they do, just update the connection string. That way you're doing the fastest possible relink in all cases. -- David W. Fenton http://www.dfenton.com/ usenet at dfenton dot com http://www.dfenton.com/DFA/ |
![]() |
| Thread Tools | |
| Display Modes | |
| |