Announcement

Collapse
No announcement yet.

mirth 3.0 broke my filemaker jdbc connexion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • mirth 3.0 broke my filemaker jdbc connexion

    Hello again,
    After ugprading to Mirth 3.0 my jdbc connexion with my Filemaker database doesn't work anymore.
    I copied the jdbc driver into lib/database and I edited my dbdrivers.xml like I did with precedent versions of Mirth Connect.
    <driver class="com.filemaker.jdbc.Driver" name="Filemaker JDBC" template="jdbc:filemaker://filemakerhostip/dbname" selectLimit="" />
    Now I have two different errors with two channels. One channel handles HL7 files and the other pdf files and inserts the results into my Filemaker database.
    See attached channels
    For the HL7 channel I receive this error message under "source"
    Transformer error
    ERROR MESSAGE: Error evaluating transformer
    com.mirth.connect.server.MirthJavascriptTransforme rException:
    CHANNEL: Dianalab HL7 To Filemaker
    CONNECTOR: sourceConnector
    SCRIPT SOURCE: TRANSFORMER
    SOURCE CODE:
    36: var mapping;try { mapping = msg['ORU_R01.RESPONSE']['ORU_R01.ORDER_OBSERVATION']['ORC']['ORC.5'].toString(); }catch (e) { logger.error(e); mapping = '';}channelMap.put('labo_orderStatus', validate( mapping , '', new Array()));
    37: var mapping;try { mapping = msg['ORU_R01.RESPONSE']['ORU_R01.ORDER_OBSERVATION']['OBR']['OBR.7']['TS.1'].toString(); }catch (e) { logger.error(e); mapping = '';}channelMap.put('date_prelevement_observationDa teOrTime', validate( mapping , '', new Array()));
    38: var mapping;try { mapping = msg['ORU_R01.RESPONSE']['ORU_R01.ORDER_OBSERVATION']['OBR']['OBR.14']['TS.1'].toString(); }catch (e) { logger.error(e); mapping = '';}channelMap.put('date_reception_labo_specimenRe ceivedDateOrTime', validate( mapping , '', new Array()));
    39: var mapping;try { mapping = msg['ORU_R01.RESPONSE']['ORU_R01.ORDER_OBSERVATION']['OBR']['OBR.3']['EI.1'].toString(); }catch (e) { logger.error(e); mapping = '';}channelMap.put('medclipse_fillerOrderNumber_en tityIdentifier', validate( mapping , '', new Array()));
    40: // création des paramètres de connexion à la base de donnée Filemaker via JDBC
    41: var dbConn = DatabaseConnectionFactory.createDatabaseConnection ('com.filemaker.jdbc.Driver','jdbc:filemaker://localhost/M_mirthbridge','xxx','yyy');
    42:
    43: //obtention de la longueur du message
    44:
    45: var maxObs=msg['ORU_R01.RESPONSE']['ORU_R01.ORDER_OBSERVATION']['ORU_R01.OBSERVATION'].length();
    LINE NUMBER: 41
    DETAILS: Wrapped java.sql.SQLException: No suitable driver found for jdbc:filemaker://localhost/M_mirthbridge
    at f0406331-9f25-44a2-bbcf-7d436dc2cb13:41 (doTransform)
    at f0406331-9f25-44a2-bbcf-7d436dc2cb13:100 (doScript)
    at f0406331-9f25-44a2-bbcf-7d436dc2cb13:102
    at com.mirth.connect.server.transformers.JavaScriptFi lterTransformer$FilterTransformerTask.call(JavaScr iptFilterTransformer.java:134)
    at com.mirth.connect.server.transformers.JavaScriptFi lterTransformer$FilterTransformerTask.call(JavaScr iptFilterTransformer.java:100)
    at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
    Caused by: java.sql.SQLException: No suitable driver found for jdbc:filemaker://localhost/M_mirthbridge
    at java.sql.DriverManager.getConnection(DriverManager .java:602)
    at java.sql.DriverManager.getConnection(DriverManager .java:154)
    at com.mirth.connect.server.userutil.DatabaseConnecti on.<init>(DatabaseConnection.java:64)
    at com.mirth.connect.server.userutil.DatabaseConnecti onFactory.createDatabaseConnection(DatabaseConnect ionFactory.java:49)
    at sun.reflect.GeneratedMethodAccessor51.invoke(Unkno wn Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox. java:126)
    at org.mozilla.javascript.NativeJavaMethod.call(Nativ eJavaMethod.java:225)
    at org.mozilla.javascript.Interpreter.interpretLoop(I nterpreter.java:1473)
    at org.mozilla.javascript.Interpreter.interpret(Inter preter.java:815)
    at org.mozilla.javascript.InterpretedFunction.call(In terpretedFunction.java:109)
    at org.mozilla.javascript.ContextFactory.doTopCall(Co ntextFactory.java:394)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(Scr iptRuntime.java:3110)
    at org.mozilla.javascript.InterpretedFunction.exec(In terpretedFunction.java:120)
    at com.mirth.connect.server.util.javascript.JavaScrip tTask.executeScript(JavaScriptTask.java:49)
    at com.mirth.connect.server.transformers.JavaScriptFi lterTransformer$FilterTransformerTask.call(JavaScr iptFilterTransformer.java:123)
    ... 6 more
    And for the pdf channel I receive this message under "destination"

    JavaScript Writer error
    ERROR MESSAGE: Error evaluating JavaScript Writer
    com.mirth.connect.server.MirthJavascriptTransforme rException:
    CHANNEL: Dianalab PDF to Filemaker
    CONNECTOR: Destination 1
    SCRIPT SOURCE: JavaScript Writer
    SOURCE CODE:
    24: importPackage(java.sql);
    25: importPackage(java.io);
    26:
    27: // database connexion information
    28:
    29: new com.filemaker.jdbc.Driver();
    30: var dbConn = DriverManager.getConnection('jdbc:filemaker://localhost/M_mirthbridge','xxx','yyy');
    31:
    32: // The pdf is transformed by Mirth Connect into a base64 String
    33: // Here we transform the base64 String as byte array.
    LINE NUMBER: 29
    DETAILS: TypeError: [JavaPackage com.filemaker.jdbc.Driver] n'est pas une fonction, c'est un object
    at 587cda81-7e63-4930-ba3e-4d1dd188ac4c:29 (doScript)
    at 587cda81-7e63-4930-ba3e-4d1dd188ac4c:76
    at com.mirth.connect.connectors.js.JavaScriptDispatch er$JavaScriptDispatcherTask.call(JavaScriptDispatc her.java:163)
    at com.mirth.connect.connectors.js.JavaScriptDispatch er$JavaScriptDispatcherTask.call(JavaScriptDispatc her.java:102)
    at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
    Is it possible that my driver is not compatible with Mirth connect 3.0 anymore ?

    Thanks in advance for any help.
    Last edited by dobunzli; 11-27-2013, 12:59 PM.

  • #2
    Ok I found the solution.
    I had to put the filemaker jdbc.jar file also into /Library/Java/Extensions
    I am on Mac OS X 10.7.5.

    With precedent versions of Mirth I didn't had to put the driver into this folder.
    Hope this helps someone else.

    Comment


    • #3
      Where was your jar before? It should be in the custom-lib directory.
      Jacob Brauer
      Director, Software Development
      NextGen Healthcare

      sigpic

      Comment


      • #4
        Hello,
        Thanks for your answer, I am pretty sure that I had it in Mirth Connect/lib/database/ (cannot check anymore)
        Anyway, putting it into Mirth Connect/custom-lib is working too.
        Thanks.

        Comment


        • #5
          Hello,
          Installed Mirth Connect 3.2.1 7650 on a new computer with Mac OS X 10.10.3, the same problem appeared and putting the fmjdbc.jar into custom-lib didn't work.
          It showed up under "Database Reader" though, but was not working.

          I had to put the driver into /Library/Java/Extensions to make it work.

          Finally, I removed it from Mirth Connect/custom-lib so that I have it only in one place.

          Comment

          Working...
          X