Link to home
Start Free TrialLog in
Avatar of jbotts
jbotts

asked on

There isn't enough memory to perform this operation. Close unneeded programs and try again.

I have an Access program (size=40.8 MB) and am using replications. When synchronization from the design master to a replica is performed it opens with the message "There isn't enough memory to perform this operation. Close unneeded programs and try again." I click OK. There are no other programs to close. The synchronization proceeds as expected and without further error messages. The replicas then work just fine. I am concerned that this message is an omen for future problems, but I don't know what is causing the problem. My computer has 1 GB of RAM.

Thanks,
jbotts
Avatar of GRayL
GRayL
Flag of Canada image

Try this URL:  http://support.microsoft.com/search/?adv=1

Enter the application and type Replication in the For:  line.  Download any FAQs that may be archived on this topic.
This could be due to a number of causes.  A few questions that might narrow the list of possibilities...

1) Does this error occur on all the replicas or just some/one of them.
2) The replica or replica(s) that it occures on, are they Global, Partial and/or Anonymous replicas.
3)  Are you synchronizing from file to file or are you synchronizing over the internet.
4) If you are using internet replication does the hub master have any difficulty synchronizing with any replica and if so can it synchronize successfully if done directly (file to file).
5) Which version of Access are you using and are all replicas relying on the same verion (if not what other versions are installed and/or which versions are or o r are not having trouble.

In the meantime you might check out the following KB articles and let ue know if any of them helped.

http://support.microsoft.com/?scid=kb;en-us;886672&spid=2509&sid=98
http://support.microsoft.com/default.aspx?scid=kb;EN-US;838900
http://support.microsoft.com/default.aspx?scid=kb;EN-US;885235
http://support.microsoft.com/?scid=kb;en-us;177078


Rick
Oh yes, two more questions.  Which Service Pack do you have of JET?  AND do you have the Access Replication Service Pack installed, (Yes there is a service Pack for JET replication).

Rick
Avatar of jbotts
jbotts

ASKER

I have gone to all of the suggested links. I have downloaded the latest updates includiing the Access Replication Service Pack. I continue to get the same message.

This message occurs with all replicas. I have had this database for 14 months and only recently have I gotten the described message. There are now, of course, more records. I am synchronizing file to file and not on the internet. I am using Access 2003 as are all the replicas.

Thanks,
Jim Botts
Which Service Pack of JET are you running?

Rick
Also, is the .mdb ion Access 2003's file format or is it still in an Access 2000 Format?

Rick
Avatar of jbotts

ASKER

4.0.8618.0
If you spawn a new replica from one of your existing global replicas are you able to sychronize with that new replica or do you get the same error there as well.  Also don't forget my prevoius question regarding Access 2K vs. 2003 format.

Rick
Avatar of jbotts

ASKER

Rick,
The same error occurs with any replica. I am using Accesss 2003, but with the 2000 format.
Thanks,
Jim Botts
If the error is occuring with EVERY replica, INCLUDING new replicas that are spawned from existing ones, I regret to say that it seems VERY likely that your replicas have become corrupt somewhwere along the way.  All is not lost but some more troubleshooting is needed.

Can you import all the objects from one of the replicas into a new database?  If so Recovery is possible, you may not like what it takes but take comfort in the knowledge that it is doable.

Rick
Avatar of jbotts

ASKER

If the data is up to date, and the Design Master is not corrupt, could I not just delete the replicas and replace them with new replicas made from the non-corrupt Design Master? I have only 7 replicas.
Yes you could do that but if I'm correct you said in an earlier post that spawning new replicas didn't work because you indicated that you couldn't sychronize with them either.  If, however, that is not true, then YES, YOU ABSOLUTELY CAN spawn new replicas from the design master and then go from there.

Rick
Avatar of jbotts

ASKER

I am able to spawn new replicae. I have just spawned a new replica with no problem and then synchronized the Design master with it and still got the same message. The synchronization works just fine. I am just concerned that the message is a sign of something bad in the near future.
Your concern is warranted.  To be absolutely safe it would probably be wise to unreplicate the database and then start anew, building a design master, hub master (if you're using internet replication), and any other replicas you require.  Before you go there though, (unreplicating a replicated database is not nearly as simple a process as it aught to be) you might consider posting the database to http://www.ee-stuff.com/ if you feel comfortable having others take a look at it.  

If you do I will take a look at it and see if I can offer any insight as to how you might save yourself w/o resorting to drastic measures.  

If the data is sensitive then try a couple more things before posting anything to http://www.ee-stuff.com/ 

First make a back up copy and work off of that copy.  Then delete all the records from all of the tables.  Spawn a new replica and see if you can synchronize without error.  If you can the problem is likely due to something corrupt inside one of the tables.  If not you'll have a copy w/o any data in it that one can look and and it is possible I or someone else versed in replication may be able to find and fix the problem for you.  Post something there and I'll take a crack at it.  It is not often I find a replicated database I cannot save so I'll welcome a good challenge.

In the meantime, your concern is warranted but before drastic measures are taken lets see if we can sergically fix whatever is wrong.

Rick
Rick the sergion;-)
Avatar of jbotts

ASKER

Rick,
I have made a new database importing the objects from the original Design Master. When I make replicas with the new database I no longer get the message. Do you think it is fixed?
Thanks,
Jim
The good news is that now we know it can be fixed.  The bad news is that it isn't fixed yet.  

What you'll need to do is unreplicate the database and this can be a little time consuming.    Here's how to do it.

1) Make a New .mdb
2) Inport all the objects from the old replica into the new .mdb
Note:  If you look at the tables that you've imported you'll notice a bunch of weird fields that you can not delete.  They will have field names like...

Gen_Notes
s_ColLineage
s_Generation
s_GUID
s_Linage

3) Rename all your old tables by adding some letter to the front of the name (I usually add the letter 'z' to them).

4) Create Make table Queries for each table that inserts every field in the each table EXCEPT replication fields like the ones above.  If you never use the underscore character "_" it'll be very easy for you to identify a replication field.  Each Make table query should create a new table containing only NON-REPLICATION fields and create a table by the same name as the one you have (less the letter you prefixed it with in step 3 (ie: z)

5) Recreate all the relationships that used to exist between the old tables for all the new ones created in step 4

6) DELETE all those old tables (the ones you prefixed with a letter like 'z').

7) At this point you'll have a fresh, unreplicated database.  This would be a great time to do a compact and repair.  Also double check all your tables and be absolutely sure you got rid of all those replication fields.

8) Select Toos, Replication, Create Replica to convert this new UN-REPLICATED database into a DESIGN MASTER.  I recommend you allow it to create a backup for you just in case you end up needing it.

9) After you've created your design master, spawn as many replicas as you like and you're all fixed.  No corruption and you can go back to using the datbase as you always have.  

***************************************

I regret that unreplicating a database isn't as simple as it should be and it would have been great if Microsoft built in a method for doing so but they didn't.

If all else failes Microsoft offers a KB on the process as well.  

http://support.microsoft.com/kb/208394/en-us

***************************************

Avatar of jbotts

ASKER

I have followed your instructions and those of the help section of MS Access. When creating the query, despited only dropping and dragging the desired fields, the new table still includes the fields such as:

Gen_Notes
s_ColLineage
s_Generation
s_GUID
s_Linage

I have made multiple attempts and the fields are still dragged into the new table. Any suggestions?
If you're creating a make table query that does not include the fields like the ones you mention above that creates a new table (under the name of the old one) it should work.  The query's would look something like this...

SELECT field1, field2, field3, field4, field5 INTO tblCustomer FROM ztblCustomer;

I know it will involve creating a lot of make table queries but it should do the job for you.  

If by chance you have never used and underscore character in any of your table's field names and you rename all your tables by doing something simple like adding a letter "z" to the front of them, I could offer some code that will recreate all the new tables for you automatically and save you writing all those queries.  My code relies on a couple condition sbeing true though.  

1) All the tables we are trying to create cant start with "sys" or the letter "z"
2) None of the fields within the tables can contain an underscore character "_"

If this is true let me know and I'll post some code that will make your life so much easier.  You'll still have to recreate all those relationships but hey, getting all those tables created will definately help you get ahead.

Rick

One correction about the rules above... I'll retype them here...


1) All the tables we are trying to create cant start with "MSys" or the letter "z"
2) None of the fields within the tables can contain an underscore character "_"
Avatar of jbotts

ASKER

Unfortunately I do have many fields that contain an underscore. When creating the query, I have been very careful not to include the mentioned files. Likewise when naming the table, there is a check box to make the table replicable, and I have not checked that. I don't mind doing all of the queries if I could just get one to exclude the replication system fields. I have looked at the SQL view to make sure that the replication system fields are not included in the query and they are not but upon running the query and creating the new query, the replication fields are reproduced. My key value is a string field and not s_GUI.
Thanks,
Jim
If you've created a bran new database, none of the tables or any other object for that matter should have the icon that designates the object as a replicated object.  If it does, something went wrong with that step.

If you don't mind creating all the queries, and are very careful to 1) rename all existing tables to something else (ie: add the letter z to the beginning of the table name) and 2) create a make table query that creates a new table with all the fields that ARE NOT replication fields you should be able to create new tables free of all the replication stuff.

After that all you need to do is recreate your relationships and delete all the old relication tables.  Once done, create a new design master, and spawn new replicas as needed and you're set.  

All this said I'm giving a little thought to how one migh automate the process knowing that some of your valid fields have an underscore character.  If sucesfull I'll post what I come up with.

Rick
Don't quote me on this (there may be othres to watch out for) but off hand I know these are the types of fields to be on the look out for (to avoid including in your MAKE TABLE QUEIRES)

s_ColLineage
s_Generation
s_GUID
s_Lineage
Gen_xxxxx   (where xxxx is the name of one of your memo fields AMD Gen_xxxxx is a field of type LONG INTEGRER
Avatar of jbotts

ASKER

Rick,
Perhaps I don't understand completlely. This is what I have done.
1. Create a new database
2. Import all objects and tables from the old design master or a replica of the old design master
3. In the new database rename the tables with a prefix of 'z'
4. Make Table Querys using the tables with the z prefix. Exclude those fields that are replication system fields.
5. Name the newly created tables the original name (without the z)

Using the above I still get the undesired fields.
Is there anything I should do about the index field of the table. I have been using a key field that is a string.

Thanks so much for your help.
Jim
I think you've got it right but clearly something is missing so I'll see if I can read between the lines and spot what is up.

Item #4.  Make Table Quries are queries that take fields from an existing table and create a new table based on the fields selected.  the syntax of one of these queries looks something like this....

SELECT field1, field2, field3, field4 INTO tblCustomer FROM ztblCustomer

Replace the field1, field2, field3, field4, etc with fields that are not in the list of prohibited fields we've mentioned above.  If you end up getting one of these unwanted fields, simply update your make table query to exclude that unwanted field(s) and run it again.

Item #5:  You shouldn't have to rename these tables because the Make Table Queries in step 4 should create these new tables under the correct table name complete with all the data from the old table.  

After all this gets done you're last step will be to recreate all the relationships (you can use the z table's as a model) and then when you're done creating the relationships you can delete all the tables starting with z and then do a compact/repair.
If you make it this far you're nearly home free, go to Tools, Replcation, Create Replica and that should spawn your new Design master after which I'm betting you're in familiar territory as you spawn new replicas from your design master as needed.

Rick
Avatar of jbotts

ASKER

Rick,
Below is the code created when I do the make table query, but it still produces a table with all the undesireables.

SELECT ztblDementia.EvaluationID, ztblDementia.PatientID, ztblDementia.EvaluationDate, ztblDementia.Criteria_1, ztblDementia.Criteria_2, ztblDementia.Complications_C, ztblDementia.Inadequate_Intake, ztblDementia.Wgt_Loss_Greater_Than_10, ztblDementia.Albumin_Less_Than_2_5, ztblDementia.Sunken_Cheeks, ztblDementia.Hollowed_Out_Eyes, ztblDementia.Clothes_Loose, ztblDementia.Loss_Of_Fat, ztblDementia.Bitemporal_Wasting, ztblDementia.Patient_Appearance_C, ztblDementia.Eligible_Based_On_Decline, ztblDementia.Eligible_Based_On_Decline_C, ztblDementia.Eligible_Based_On_Comorbids, ztblDementia.Eligible_Based_On_Comorbids_C, ztblDementia.Met_Criteria, ztblDementia.Pressure_Ulcer_Stage_3_4, * INTO tblDementia
FROM ztblDementia;

Jim
ASKER CERTIFIED SOLUTION
Avatar of Rick_Rickards
Rick_Rickards
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jbotts

ASKER

Rick,
I think you have figured it out. I have tried it on one table and it works. I have to catch a plane now and will tinker with it some more tonight to make sure it works and hopefully will be able to close this question and give you all the points. It sure makes sense what you have suggested. I don't undersand why MS Access creates the * INTRO when I am not wanting to create all the fields. Thanks so much again. I am in the Mountain Time Zone and should get back to you about 9PM Mountain Time. Again I appreciate your help and persistence.

Thanks,
Jim
My pleasure, just let me know if you should need anything else.

Rick
Avatar of jbotts

ASKER

Rick,
It all works. Thanks again.
Jim
Your're welcome.

Rick