Connect Database Nodes to Filemaker

Dear all,

Is there a way to connect Knime To Filemaker? How to do it?

Thanks in advance,

Lionel

This should be possible. Our database nodes can work with all databases who have a jdbc driver.

Here I found something on jdbc and filemaker: http://www.filemaker.com/de/help/html/odbc.18.1.html

And here you find the database documentation https://www.knime.com/database-documentation

Cheers, Iris 

Hi Iris,

Thanks for your help. Searching in the help doc of FileMaker allowed me to do the job.

For all that will be in the same situation, this is how I managed to access FileMaker db through Knime:

1- In the uncompressed directory of FileMaker installation, you will find (in the Extra directory) a xODBC zip file in which you will find the JDBC Client Driver : fmjdbc.jar

2- In Knime/Preferences -> Knime/Databases

Add the fmjdbc.jar file

3- The driver is now available in the Database Connector node. The URL to use for the connection is like:

jdbc:filemaker://localhost:2399/dbname

(the port number 2399 is the only one allowed by FileMaker)

4- For the connection, verify in the FileMaker db

a/ the db has a user + pwd

b/ the ODBC/JDBC parameter of the db is activated for the user (File/Sharing/Enable ODBC/JDBC)

I hope this small tuto will help.

Lionel

Thanks for these instructions.
Im trying to connect to FMS18 with the JDBC Driver by following the steps above.
Im running into an error and I’m wondering if you have experienced this?

ERROR DB Connector 0:17 Execute failed: DB Session 2e388a80-1e9f-416f-99ed-8fd68f868bec is invalid. [FileMaker][FileMaker JDBC] This method is not yet implemented.

2019-11-18 10:38:40,803 : ERROR : KNIME-Worker-1 :  : Node : DB Connector : 0:16 : Execute failed: DB Session 0eb1a46c-ebfd-4285-81a6-824926d77069 is invalid. [FileMaker][FileMaker JDBC] This method is not yet implemented.
java.lang.IllegalStateException: DB Session 0eb1a46c-ebfd-4285-81a6-824926d77069 is invalid. [FileMaker][FileMaker JDBC] This method is not yet implemented.
	at org.knime.database.session.impl.DefaultDBSession.validate(DefaultDBSession.java:319)
	at org.knime.database.node.connector.AbstractDBConnectorNodeModel.registerSession(AbstractDBConnectorNodeModel.java:325)
	at org.knime.database.node.connector.AbstractDBConnectorNodeModel.execute(AbstractDBConnectorNodeModel.java:166)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:567)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1192)
	at org.knime.core.node.Node.execute(Node.java:979)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:559)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:179)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:110)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:328)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:204)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
	at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
Caused by: com.filemaker.jdbc.FMSQLException: [FileMaker][FileMaker JDBC] This method is not yet implemented.
	at com.filemaker.jdbc.Driver.notImplemented(Unknown Source)
	at com.filemaker.jdbc3.CommonJ3Connection.isValid(Unknown Source)
	at org.knime.database.connection.impl.AbstractConnectionWrapper.isValid(AbstractConnectionWrapper.java:431)
	at org.knime.database.connection.impl.managed.ManagedConnection.isValid(ManagedConnection.java:145)
	at org.knime.database.connection.impl.AbstractConnectionWrapper.isValid(AbstractConnectionWrapper.java:431)
	at org.knime.database.connection.impl.AbstractConnectionWrapper.isValid(AbstractConnectionWrapper.java:431)
	at org.knime.database.session.impl.DefaultDBSession.validate(DefaultDBSession.java:304)
	... 15 more

Hi there @whuang,

welcome to KNIME Community!

seems as if driver does not support the isValid() method in new database framework. Try suggestion from this topic.

Alternatively you can try legacy DB framework.

Br,
Ivan

1 Like

Hi ther @whuang,

Welcome!

I am sorry but I did not worked with FMS for a while. I have not encountered this error (for the best of my memory). The solution proposed by @ipazin is very interesting. Otherwise you should first confirm that your JDBC driver is working outside Knime without problems.

Sorry for this non-helping answer,

Lionel

1 Like