We have reset all users FileMaker related profile fields. Please take the opportunity to update your information,  this will provide background to members whom read your posts. Click here.

Jump to content
samiam73

Switch to the FileMaker official JDBC driver

Recommended Posts

samiam73    0

Hi All,

I'm getting the following error:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The field name 'Access.ID' is not valid for the 360Works XML JDBC driver, because it contains a period. The XML Web Publishing does not support related table queries. Either switch to the FileMaker official JDBC driver, or remove the period from the field name.If you are using ProscDatabase, be sure that your data model object does not contain any relationships (i.e. collections).

Renaming is not an option, I've used a dot notation naming throughout 70-ish tables. I've tried downloading fmjdbc.jar and placing it in the Library/Java/Extensions folder as per FM instructions. how do I get MirrorSync to use that one instead of the "360Works XML JDBC driver"?

I proof of concept tested this early in the project (about 12 months ago) with Mirrorsync 2 and it worked - I'm pretty sure with the same dot notation.

Thanks,

Sam.

OSX, FMS14, FMA14

Share this post


Link to post
Share on other sites
Wim Decorte    443
11 hours ago, samiam73 said:

 

Renaming is not an option, I've used a dot notation naming throughout 70-ish tables.

 

Reconsider that.  There is a huge upshot in keeping field names 'standards-safe and use only a-z, A-Z, 0-9 and the underscore.   The 'dot' is the delimiter between a table name and a field name in SQL for instance.

  • Like 1

Share this post


Link to post
Share on other sites
Jesse Barnum    49

Hi samiam - For a variety of reasons, one of which Wim points out, it's just a bad idea to have periods in field names.

Another one is cited here, in FileMaker's XML Web Publishing documentation https://fmhelp.filemaker.com/docs/15/en/fms15_cwp_guide.pdf:

Quote

 

It is not recommended to use periods or parentheses in field names. In some cases, field names with periods may work, but field names with the following exceptions can never be used:

The period cannot be followed by a number. For example, myfield.9 is an invalid field name.

• The period cannot be followed by the text string op (the two letters “op”). For example, myfield.op is an invalid field name.

• The period cannot be followed by the text string global (the word “global”). For example, myfield.global is an invalid field name.

Field names containing any of these exceptions cannot be accessed via XML using an HTTP query. These constructs are reserved for record IDs, as described in the section, “About the syntax for a fully qualified field name,” below. 

 

MirrorSync needs to use the XML Web Publishing Engine during the sync configuration process, even if the actual sync will be done with JDBC, so we're not able to get any metadata for fields that violate these rules.

It's true that MirrorSync 2 was less strict about this. We changed this in MirrorSync 3 precisely because it created frequent tech support problems for people.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×

Important Information

By using this site, you agree to our Guidelines.