eclipse-birt / birt

Eclipse BIRT™ The open source reporting and data visualization project.
http://www.eclipse.org/birt
Eclipse Public License 2.0
451 stars 389 forks source link

Cannot create a new Driver Class needed for my Data Source #1053

Closed Roone closed 2 years ago

Roone commented 2 years ago

I have the jar, and I "add" it using the Manage Drivers screen when trying to create my Data Source.

I can see the jar appears in the ~/drivers directory, but I would expect that a new Driver Class Name would appear in order that it then show in the dropdown menu so that I can properly create my Data Source.

AddNewDriver.docx

hvbtup commented 2 years ago

Please don't add proprietary file formats here. You can add screenshots etc directly to your answers.

Roone commented 2 years ago

I cannot get the Driver Class dropdown to populate.

I can add the jar, or even manually place it in the plugins directory, and yet the Driver Class dropdown never changes and never shows me my driver.

hvbtup commented 2 years ago

I am using the Oracle JDBC driver by manually putting ojdbc7.jar into plugins\org.eclipse.birt.report.data.oda.jdbc_.v\drivers directory (the * are depending on the BIRT release). This should work for any JDBC driver. Maybe your driver JAR file has additional dependencies (other Java classes or DLLs) and the JVM fails to find these?

Roone commented 2 years ago

Yes. That worked and I think it must be some incompatibility issue. I had been trying to use the ojdbc10 jar. I was thinking that perhaps BIRT (birt-rcp-report-designer-4.8.0-20180626-win32.win32.x86) can only use the ojdbc7.jar? I tried a few more times with the "10", and it would not take it.

I downloaded birt-rcp-report-designer-4.9.0-20220315-win32.win32.x86_64, and I know I have java 64, that wont start and that may be a separate issue with 32 vs 64. I had wanted to test my theory that perhaps ojdbc10 would work with that. BUT..I am happy to have a working BIRT, as I need to get on with my real task. Thanks for your help.

hvbtup commented 2 years ago

Don't know, but probably you should look at https://www.oracle.com/database/technologies/faq-jdbc.html. In fact, the ojdbc driver version you should use is depending on the JDK version and the RDBMS version.

Oracle JDBC can use the thin driver (pure Java) or a C-based driver (based on ODPI or classic OCI). The latter also needs DLLs. But AFAIK you would notice missing DLLs for the OCI driver only when you actually try to connect.