Qlik Community

QlikView Documents

Documents for QlikView related information.

Announcements
Announcing the newest addition to the Qlik Community, Qlik Gallery! Learn More

QVX & QVD Converter Java library

MVP & Luminary
MVP & Luminary

QVX & QVD Converter Java library

Hi,

this is a new demo release of TIQ Solutions' QVXConverter Java library containing QVXReader and QVXWriter class for the reading and writing QVX files within Java applications or environments (esp. ETL programs).

Some generic example implementations for creating QVX data files from CSV data and also for reading a QVX file are added.

QVX files could also easily created with QVXWriter lib from sources like JDBC, JSON or webservices.

QVX header and data are written in UTF-8 charset.

- Ralf

Update: Now I've finished the implementation of my Java-based QVDReader / QVDWriter libraries. It's working now! This means we’re able to create QVD files independently in nearly any environment like Unix or Linux with a small memory footprint.

This is part of our initiative: QlikView Data Integration in a Java World http://bit.ly/R3hCor

Update 2: QVDWriter library can create smaller and optimized QVD files through selected use of data types:
take a look at my TIQView Blog Post - Honey, I shrunk the QVDs


Update 3: New release of QVXConverter demo. Now it comes with a QVX2CSV program.

Labels (1)
Attachments
Comments
Not applicable

Hi Ralf,

Thanks for posting this.  I noticed that you didn't put a license type on it, are you making this library available under any particulary open source license?

Regards,

Jake

0 Likes
MVP & Luminary
MVP & Luminary

Hi Jake,

this is a demo version. You can ask TIQ Solutions for a commercial license.

There will be no release under a open source license.

Ralf

0 Likes
Not applicable

Thanks for the quick reply Ralf!

0 Likes
MVP & Luminary
MVP & Luminary

Just a short note: we've developed same thing for QVD files also. Feel free to contact me if you need to integrate QVD files in a Java application or process (esp. ETL and DQ).

The goal is to read and write QVD files of an unlimited size in a Unix environment with a small memory footprint. So this will work with mass data even on small boxes.

Not applicable

Great update Ralf.  We are about to launch an in product 'Marketplace' plugin for PDI.  Given that the supported connector is not open source (so we can't bundle it in the core product), the Marketplace might be a good way to make your PDI/Kettle plugins more visible to our community.  Let me know if your interested in learning more about how to publish them to the Marketplace and I'll synch you up with the right folks.

Cheers, Jake

0 Likes
MVP & Luminary
MVP & Luminary

Thanks for the hint Jake,

we already have a product on QlikMarket, the JDBC Connector. It's time to post some more stuff over there..

- Ralf

0 Likes
Luminary
Luminary

Ralf,

trying to run the demo under Linux (ish) OSs. Both OSX Maverick and Debian give me tons of errors though:

./lib/QVXConverter.jar: line 1: PK: command not found

./lib/QVXConverter.jar: line 2:C: command not found

./lib/QVXConverter.jar: line 3: 1D�@�$�P�r}�,vr7�b$: command not found

./lib/QVXConverter.jar: line 3: Kި�3s��љ: command not found

./lib/QVXConverter.jar: line 4: xk�%@�Iޒ�� command not found

./lib/QVXConverter.jar: command substitution: line 4: syntax error near unexpected token `6�X'

./lib/QVXConverter.jar: command substitution: line 4: `?6�X|GNŻɱ�'

./lib/QVXConverter.jar: line 4: W��3�: command not found

./lib/QVXConverter.jar: line 5:Cde/PK: No such file or directory

..

...

....

Probably something trivial that's wrong... can't seem to nail it though. Ideas?

/Göran

0 Likes
Luminary
Luminary

Doh. Replacing the ; in the classpath with : (I guess that is a difference between Java on Windows and Linux?), the error becomes

java -classpath ./classes:./lib/QVXConverter.jar:./lib/opencsv-2.3.jar ExampleQVXWriterFileName

Exception in thread "main" java.lang.UnsupportedClassVersionError: de/tiq/solutions/data/conversion/QVXWriter : Unsupported major.minor version 51.0

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

        at ExampleQVXWriterFileName.main(ExampleQVXWriterFileName.java:102)

Somewhat more to work with, I guess..

Edit:

I guess my question is: What Java version is needed to run the demo?

0 Likes
MVP & Luminary
MVP & Luminary

Hi Göran,

sounds like a too old Java version to me. Try at least v1.6.

Best regards,

Ralf

0 Likes
Luminary
Luminary

Well, I am running 1.6+. On Debian 2.6.32:

> java -version

java version "1.6.0_26"

Java(TM) SE Runtime Environment (build 1.6.0_26-b03)

Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎2012-01-26 09:36 AM
Updated by: