Announcement

Collapse

Mirth Connect 3.12.0 Released!

Mirth Connect 3.12.0 is now available as an appliance update and on our GitHub page. This release includes database performance improvements, improves visual HL7 representation, message pruning, keystore handling, PDF generation, community contributions, and fixes several security vulnerabilities. This release also contains many improvements to commercial extensions. See the release notes for the list of fixes and updates.

Download | See What's New | Upgrade Guide | Release Notes

For discussion on this release, see this thread.
See more
See less

Troubleshooting Database Writer Issues

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

  • Troubleshooting Database Writer Issues

    Having some problems with a basic setup using a db writer destination. The details:

    Current Mirth install (1.6.1) with latest Java JRE.

    Test Channel with a file reader and file writer works. Simple Patient reg HL7 input, output of message id to output file. No problem.

    Modified Test channel destination to a db writer, accessing an MS SQL Server on the local net. The parameters are as simple as possible:

    URL: jdbc:jtds:sqlserver://(local ip):1433/dbname
    Username: sa
    Password: (blank)

    SQL Statement: insert into test_table (seq, descr) values ('test002', 'mirth')

    The channel is redeployed with this change and restarted. The same input file as the first test is used, and the channel errors. We've checked out the db side carefully, the sa account is basic SQL authenticated (not Windows native), and we can access the database with this exact URL from the mirth box using the java database utility SQL workbench via the same TDS driver Mirth is using, no problem.

    The logs don't seem to provide a clear indication of the problem, just a java NULL pointer ERROR followed by a long string of entries. Not sure where to go next with this, we either have a setup bug to figure out or the test scenario isn't valid. Is it ok to use a fixed db statement with no variables and no transform steps to do this kind of config test?

    Are there other means of trobleshooting we're missing?

    PS: The original test was on a Win2000 Server sp4 box, but we also tried the installation on a Debian Etch Linux machine, hoping there was an environment issue, but the results of the same test were similar.

    It would be great if we had a means to test the db URL and connection right from the Channel Detisnation setup screen, ala the ODBC configuration panel to help locate db related problems.

    Any help or pointers appreciated.

    Thanks,
    Mark

  • #2
    Re:Troubleshooting Database Writer Issues

    I have the same problem (NULL ponter) with version 1.6.

    The same channel is working on version 1.5.

    Any one help please!

    Comment


    • #3
      Re:Troubleshooting Database Writer Issues

      I don't know if you have this already or not, but include a ";" at the end of your connection url.

      Like this: jdbc:jtdsqlserver://(local ip):1433/dbname;

      That's the only difference I can see when comparing to a DB writer connection that i have.

      Post edited by: afterdark23, at: 11/23/2007 05:37
      Reid Hospital and Healthcare

      Comment


      • #4
        Re:Troubleshooting Database Writer Issues

        Hi,

        just one try, can you assign a password to sa just for testing?. On the other side, what version of SQL Server are you using?. SQL 2000 and 2005 are very different in security matters.

        Hope this helps,

        Ricard Bernat

        Comment


        • #5
          Re:Troubleshooting Database Writer Issues

          Ricard:

          It's SQL2000. I added another user account in the SQL Server, named it 'sb' and gave it a password 'pw', then changed the channel destination config strings accordingly. This worked like a champ.

          So the evidence suggests Mirth doesn't like blank database passwords, which in a production environment is no problem whatsoever (though it was difficult to troubleshoot on a test server with the blank sa password). Sanke, take note, this may be your problem.

          Mirth developers, can you confirm this to be an issue, and if so it would help future newbies to either document the requirement for a non-blank password or simply allow one.

          Cheers and thanks for the help. Mirth is a terrific tool!

          Mark

          Comment


          • #6
            Re:Troubleshooting Database Writer Issues

            Could someone please include the stacktrace that is printed in the mirth logs?
            Jacob Brauer
            Director, Software Development
            NextGen Healthcare

            sigpic

            Comment


            • #7
              Re:Troubleshooting Database Writer Issues

              I think is indicative of it. Is the blank password error reproducible? We did experience it on both Windows Server and Debian Linux Mirth installations...


              INFO | jvm 1 | 2007/10/14 16:05:00 | ERROR 2007-10-14 15:05:00,656 [cbdd8e7d-2ecb-4a18-9fdd-772e1d174324_source_connector._fileEndpoint#148265 3657.receiver.1] org.mule.impl.DefaultComponentExceptionStrategy: Caught exception in Exception Strategy for: cbdd8e7d-2ecb-4a18-9fdd-772e1d174324: java.lang.NullPointerException
              INFO | jvm 1 | 2007/10/14 16:05:00 | java.lang.NullPointerException
              INFO | jvm 1 | 2007/10/14 16:05:00 | at com.webreach.mirth.connectors.jdbc.JdbcConnector.g etConnection(JdbcConnector.java:499)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at com.webreach.mirth.connectors.jdbc.JdbcMessageDisp atcher.doDispatch(JdbcMessageDispatcher.java:128)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at com.webreach.mirth.connectors.jdbc.JdbcMessageDisp atcher.doSend(JdbcMessageDispatcher.java:157)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:166)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:89)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:161)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:128)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:492)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:271)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:230)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at com.webreach.mirth.connectors.file.FileMessageRece iver.processFile(FileMessageReceiver.java:208)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at com.webreach.mirth.connectors.file.FileMessageRece iver.poll(FileMessageReceiver.java:130)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.providers.PollingMessageReceiver.run(Poll ingMessageReceiver.java:118)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
              INFO | jvm 1 | 2007/10/14 16:05:00 | at java.lang.Thread.run(Unknown Source)

              Comment

              Working...
              X