BIRT 4.5 unable to load collections from MongoDB

Hi all,


 


I cannot get Birt to load MongoDB collections even though the connection to the database is successful.


 


I download Birt 4.5 from Eclipse webpage and try to build a report using a MongoDB datasource. 


1) I couldn't get collection via the dropdown menu 


[sharedmedia=core:attachments:13389]


 


2) Even when I specify an existing collection, I got an exception invalid collection name


[sharedmedia=core:attachments:13388]

 


I reinstall Birt 4.5 + Eclipse Mars, even install Birt 4.3 + Eclipse Kepler. Nothing works.


I'm using the 64bits version of jdk/jre 1.7 on a Windows 7 (64bits). Screenshots are attached.


 


Thanks the help. 


Comments

  • Are you able to access the same database from the same machine where Birt is installed on but with a different DB client? there could be something blocking the connection independently from Birt.


    Ivano Cirillo

    Opentext support

    http://www.actuate.com | http://www.opentext.com

     

  • edited June 2016

    Also, what version is the MongoDB server?


    Clement Wong
    Principal Analytics Architect

    OpenText Corporation
    http://www.actuate.com | http://www.opentext.com

  • I can access the MongoDB server directly via the Mongo shell or in my java application via the java driver Morphia.


    The version I have is 3.2


  • The issue you are seeing is because the Open Source BIRT MongoDB ODA uses an older MongoDB Java driver (2.10.1).


     


    You can attempt to update the Java driver to the latest similar to the steps outlned from Jesse here:


    http://developer.actuate.com/community/forum/index.php?/topic/36488-mongodb-connection-issue-over-ssl/#entry135673


     


    We have internally used one of the later MongoDB Java driver (3.2.2) in a custom build of the OS BIRT MongoDB ODA that supports SSL and Kerberos, and was able to connect to the 3.x versions of MongoDB server.


    Clement Wong
    Principal Analytics Architect

    OpenText Corporation
    http://www.actuate.com | http://www.opentext.com

  • edited June 2016

    Awesome. I updated the driver and  everything is working so far.


    Thanks Clement. 


  • edited August 2016

    I have a similar problem running BIRT and MongoDB however when I switch the libraries out the MongoDB option disappears from the create DataSource window


     


    I'm using Eclipse Neon (4.6.0)


    BIRT Version: 4.6.0.v201606072122 - Build id: v20160607-2112

    Eclipse runs on a Windows 10 Pro 64 bit install


    MongoDB is on a Centos 7 Linux box


     


    I did the following:


     


    1) shutdown Eclipse


    1) Retrieved mongo-java-driver-2.14.3.jar and mongo-java-driver-2.14.3-sources.jar


    2) Moved org.eclipse.orbit.mongodb.source_2.10.1.v20130422-1135.jar and org.eclipse.orbit.mongodb_2.10.1.v20130422-1135 from C:\Users\<<me>>\.p2\pool\plugins to somewhere safe and moved the above jar files into the plugins directory.


    3) Restarted Eclipse


     


    When I select "New Data Source" MongoDB is no longer displayed as a data source


     


    Any help would be appreciated

  • @richard.bibb


     


    Just so that we are on the same page, and I can try to replicate what you are seeing:


     


    1. What version of Java are you using with Eclipse/BIRT?  (output of "java -version")


    2. Are you using the 32-bit or 64-bit Designer?


    3. Did you download the All in One Eclipse/BIRT Neon package?

    Clement Wong
    Principal Analytics Architect

    OpenText Corporation
    http://www.actuate.com | http://www.opentext.com

  • edited August 2016

    Hi Clement


     


    1) java -version


        java version "1.8.0_102"

       Java(TM) SE Runtime Environment (build 1.8.0_102-b14)

       Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

     

    2) Im assuming that when you say what version of designer are you using you mean "Are you using a 32bit or 64 bit version of Eclipse?". If so I'm (fairly certain that I am) using 64 bit Eclipse although I't not sure how to tell

     

    3) I have the Java version of Eclipse and installed BIRT through the Help->Install New Software menu

     

    Whilst poking around looking for the answer to what version of Eclipse I am using I came across a file 

     

    C:\Users\<<User>>\eclipse\java-neon\eclipse\configuration\1471422048458.txt.

     

    It appears to be a log file (although it only hangs around for a short while) and shows the following

     


    !SESSION 2016-08-17 09:20:48.301

    eclipse.buildId=4.6.0.I20160606-1100

    java.version=1.8.0_102

    java.vendor=Oracle Corporation

    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB

    Framework arguments:  -product org.eclipse.epp.package.java.product

    Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

     

    !ENTRY org.eclipse.birt.data.oda.mongodb 4 0 2016-08-17 09:20:49.115

    !MESSAGE FrameworkEvent ERROR

    !STACK 0

    org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.data.oda.mongodb [534]

      Unresolved requirement: Import-Package: com.mongodb; version="2.10.1"

     

    at org.eclipse.osgi.container.Module.start(Module.java:444)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1599)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)

    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

     

    !ENTRY org.eclipse.birt.data.oda.mongodb.ui 4 0 2016-08-17 09:20:49.120

    !MESSAGE FrameworkEvent ERROR

    !STACK 0

    org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.data.oda.mongodb.ui [535]

      Unresolved requirement: Import-Package: com.mongodb; version="2.10.1"

     

    at org.eclipse.osgi.container.Module.start(Module.java:444)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1599)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)

    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)

    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

     

     

    Any help you can give would be greatly appreciated



  • Awesome. I updated the driver and  everything is working so far.


    Thanks Clement. 




    Hi I am facing similar issue. How did you update the driver?

  • Waiting on a reply. I'm guessing that Clement will be back in touch soon
  • I was able to successfully update with the following steps.  Can you download the all in one package and try with my steps?


     


    As my next test, I will download Eclipse Neon and install BIRT as new software.  What package of Eclipse did you get from this page (https://www.eclipse.org/downloads/packages/release/Neon/R)?




    1. Downloaded the 64-bit Windows Eclipse Neon w/BIRT (all in one) from @ https://www.eclipse.org/downloads/packages/eclipse-ide-java-and-report-developers/neonr

       

       My Java info:

          java version "1.8.0_91"

          Java(TM) SE Runtime Environment (build 1.8.0_91-b15)

          Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)


    2. As baseline, ran a successful test against MongoDB 3.0.2 using out of the box ODA in a simple report.


    3. Exited out of Eclipse


    4. Downloaded "mongo-java-driver-2.14.3.jar" @ https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/2.14.3/


    5. Moved "org.eclipse.orbit.mongodb_2.10.1.v20130422-1135" out from ...\eclipse-reporting-neon-R-win32-x86_64\eclipse\plugins


    6. Moved "mongo-java-driver-2.14.3.jar" into ...\eclipse-reporting-neon-R-win32-x86_64\eclipse\plugins


    7. Started Eclipse


    => Was able to successfully Test Connection in MongoDB data source, Preview Data in the data set, and execute/view report.

     


    Clement Wong
    Principal Analytics Architect

    OpenText Corporation
    http://www.actuate.com | http://www.opentext.com

  • Ill test what you say and get back to you. I terms of which Eclip0se package I would get from the page you mentioned it would be the second one listed


     


    Eclipse IDE for Java Developers 64 Bit


     


    Thanks for your help. It is much appreciated


  • edited August 2016

    Hi Clement


     


    I can report that you approach worked. I'm going to try and reinstall my java version of Eclipse to see if I have an issue with it.


     


    edit: I reinstalled my java version of Eclipse and can confirm that everything now works. Thanks once again for your help.


     


    Richard


  • After doing above steps and replacing jar files getting error in eclipse " Unable to find Hector client library jars to support Cassandra Scripted Data Source'".And its not showing mongo data source.


     


    2. As baseline, ran a successful test against MongoDB 3.0.2 using out of the box ODA in a simple report. -Where i can find this report


Sign In or Register to comment.