Not a bug

Reverse Engineering does not work

Rabbani Mohammed 5 years ago updated by Mariusz Zakrzewski 5 years ago 2


I am trying to reverse engineer an existing database in MS SQL Server. I need to extend database capabilities and therefore need the existing model to start with. 

I am using the following connection string but getting an error. 

Can you please advise if this command is right? 

java -jar reverse-engineering.jar com.vertabelo.reverse.Main -url jdbc:sqlserver://\MMISQLE16,1433 -user xxx -password xxxxxx -o qa_db

The error message is as follows: 

No JDBC driver given. Using JDBC driver: com.microsoft.sqlserver.jdbc.SQLServerD
Reverse engineering MS SQL Server database
Connecting to the database...
Exception in thread "main" com.vertabelo.reverse.ask: Unable to load JDBC driver
at com.vertabelo.reverse.asl.b(:203)
at com.vertabelo.reverse.Main.main(:8253)
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLSer
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.vertabelo.reverse.asl.b(:201)
... 1 more

Appreciate your help.

Figured it out for MS SQL Server, this works...

java -cp .;reverse-engineering.jar;sqljdbc42.jar com.vertabelo.reverse.Main -url "jdbc:sqlserver://\SQLE16:1433; databaseName=DBNAME " -user USER -password PASSWORD -o db.xml

Downloaded sqljdbc42.jar from Microsoft website and stored in the same folder. as reverse-engineering.jar