July 22, 201411 yr Let me start with a question. Do either or both the hosted and mobile databases have to be on a server, FMS13? I ask because I have made all the modifications as set out in the documentation to both my hosted and mobile databases and tried syncing both locally and when both are on the server. I have also checked the path to the hosted version on the mobile. Whatever I do I always get, when I try to sync, 'Unable to connect to server' Any suggestions would be gratefully received Many thanks Tony
July 22, 201411 yr Tony -- Ideally, the hosted database will be on FileMaker Server 13 (which allows EasySync to use the new "Perform Script on Server" script step), and the mobile database should be on either a workstation or iOS device. In other words, the two databases should really be on two separate machines. I hope this helps. If you continue to run into problems, let me know. Thanks! -- Tim
July 23, 201411 yr Author Thanks Tim I now have the hosted database on Filemaker Server 13 and the mobile database on my iPhone. I can see both the server and hosted database on the iPhone but still have the problem I still get the message 'Unable to connect to the server' when trying to sync from my iPhone. Any further suggestions? Many thanks Tony
July 23, 201411 yr I would check to be sure that you really can connect to the server from Go. See if you can open the hosted file directly from Go. If not, then the problem isn't with EasySync. It could be a firewall issue, a connection issue in general, etc. -- Tim
July 30, 201411 yr Author Solved above and databases are now talking to each other. However on syncing I get the following message on my iPhone: Sync Error Server did not receive payload. Segment 1 Any suggestions? Many thanks Tony
July 31, 201411 yr Tony -- Sorry for the delay. I'm at DevCon this week. Here's a suggestion: On the mobile side, in the EasySync Settings script, adjust the $$max_push_segment_size setting. Try lowering a bit, and then try syncing again. The smaller payload segments might help, especially if you have a slow and/or unreliable connection. -- Tim
August 1, 201411 yr Author Tim Thanks. Took it down to 400K in steps of 50K none of which solved the problem. Any other thoughts? Many thanks Tony
August 3, 201411 yr Tony -- Try doing a very small sync, with just a few records, and see if that works. If not, then it is likely some sort of communication problem between your iPhone and the Server. Sorry for the delay - I'm on my way back from DevCon (still). -- Tim
August 8, 201411 yr Author Tim Thanks for your patience, I think I am getting there although I have hit a new problem: Pull error An error occurred when attempting to process the pulled payload (Error code: 106) As far as I am aware Error code 106 = Table missing. Is this a table the system is expecting to me to ask to be updated or something else. In the relationship graph I have included all table have new data when I use the database in the field Many thanks again Tony
August 8, 201411 yr Tony -- Please send me a PDF of your relationship graph, and I'll see if I can help. -- Tim
August 8, 201411 yr Ok. Make absolutely sure that the table names are the same, and then check all of the relationships between the EasySync_Payload_Details table occurrence and the "ES_" table occurrences to be sure that the "Allow creation of records in this table via this relationship" is checked (on the "ES_" side of the relationships. I hope this helps. If you need further assistance, contact me directly and we can discuss rates, availability, etc. -- Tim
September 13, 201411 yr I'm receiving the same error, my setup was done exactly to the documentation, and I've tried the above settings. and started with completely fresh clones on both sides. I can't seem to solve the issue, any help would be fantastic!
September 13, 201411 yr Trent -- Here are a few things to double-check: • On the mobile side, make sure that the external data source to the hosted database has been set properly. • From the mobile device, confirm that you can reach the hosted database. • And I'm assuming that the hosted database is being hosted with FMS 13. -- Tim
September 13, 201411 yr Thanks for your quick response Tim, and also thank you for developing this, it's really fantastic! anyhow, The data source is set properly, and followed each of the script-on-server changes to a T... i believe and I can access the mother database via filemaker go and pro, so I assume the scripts can as well (do I need to remove any security from the mother database that may be set, e.g. logins?) The mother database is being hosted on an AWS virtual windows server running FMS13 if you need any screenshots of my table structure or anything, I will be glad to oblige, it's only three tables at this point. Once again, you are truly awesome for providing support for this. You're my savior! As a side note, I'd actually like to make this a one way sync, as in simply sync-up. to do so do I just use ES_PUSH_ in lieu of ES_?
September 13, 201411 yr Trent -- If the hosted database is password protected, then you'll want to make sure that you're mobile database is protected by an account / password combo that matches one in the hosted database. That might be the problem. If not, let me know the specific error that you are getting. And yes, you can configure EasySync to do "push-only" syncs. To indicate that a table should be pushed (but not pulled), use the "ES_PUSH_" prefix. -- Tim
September 13, 201411 yr hmm they do have the same exact accounts, as i duplicated the database after step four in your instructions.. hmm and i do like that, I will probably implement the ES_PUSH_
September 13, 201411 yr yes I have connected via the iPad using the GO app and it connects just fine. So its definitely an issue in my setup, I'd assume. i'm no longer allowed to make another post until the 14th after this one, My email is trentmw(at)me(DotCom) Additionally, I notice that when the sync is occurring, it shows a found set of records with 0/0 records. do you think the find script is messed up?
September 15, 201411 yr Ok... When you attempt to sync, at what stage of the sync is the connection to the hosted database failing? Is it during the "ping" phase? You may want to go through the scripts and confirm that all calls to the hosted database, via the Perform Script on Server script step, are set properly. -- Tim
September 15, 201411 yr the ping script works it's the push script that fails. I have a screen capture of the sync attempt here and a map of my tables here and the remote database I can connect to just fine, from both the go app, and my desktop app. I think the error is in either this part of the script or part of the hosted script.
September 15, 201411 yr So the problem isn't that the mobile database can't connect to the hosted database. It's that the payload being sent by the mobile database isn't being received properly by the hosted database. In the "Push Payload" script, make sure that the calls to the "Receive Payload from Client" are wired up properly. Assuming that you're using Perform Script on Server, then you want to be sure that it is pointed to the script in the hosted database correctly. Also, if you get this error again, check the EasySync table in the hosted database. If the payload is being sent and received properly, then you should see a payload segment record in the table. (You might want to set the $$delete_payloads option in the hosted database to "None" during testing so that you can see payloads that have been received.) - Tim
September 18, 201411 yr holy crap! i found the reason why! There was no table associated with the easysync_payloads layout it seems to be working now! I'm super excited and overjoyed.. I wish I was joking. I do have an additional question now, and I promise it's my last Is it possible to have a setup where I have two buttons: one to do a full sync with a certain database, and then another to do only a push with a different database? I have a store that has 3 specialists that need to have an in-sync database, and then 10 other stores that have only one. -- those never need to do a full sync. however I want to have data from all the stores in my master database. I added a second external datasourse and I duplicated the scripts, would I just remove any references to the pull portions in the push-only functionality?
September 22, 201411 yr "Is it possible to have a setup where I have two buttons: one to do a full sync with a certain database, and then another to do only a push with a different database?" I suppose it could be done, but not without a considerable amount of customization to EasySync. Also, remember that EasySync supports both "push-only" and "pull-only" tables. To indicate that a table is to be pushed from a mobile device, but not pulled, use an "ES_PUSH_" prefix for the table occurrence's name. (Use an "ES_PULL_" prefix for the opposite.) -- Tim
Create an account or sign in to comment