0
Answered

Vertabelo Reverse Engineering Tool doesn't extract databases

Mariusz M 5 years ago updated by kate Winfield 2 months ago 9
Why Vertabelo Reverse Engineering Tool extracts tables only from master system database in MSSQL Express?

Answer

+1
PINNED
Under review
Did you try to set the relevant connection property? I mean you can explicity set the database name to connect to. Just like this:
jdbc:sqlserver://192.168.0.5:1433;databaseName=my_database
GOOD, I'M SATISFIED
Satisfaction mark by Mariusz M 5 years ago
+1
PINNED
Under review
Did you try to set the relevant connection property? I mean you can explicity set the database name to connect to. Just like this:
jdbc:sqlserver://192.168.0.5:1433;databaseName=my_database
You have right. It works but additionally i had to add propeties user and password before databaseName. Thank you. The problem solved.
Answered
Cool. Thanks for feedback. 

I just downloaded the reverse engineering tool and I am trying to connect to a sql server.  If I use jdbc connection string as jdbc:sqlserver://ipaddress:port;databaseName=mydatabase-name -user sa -password _pwd_ I get Login failed for user '' error.  The error goes away if I take out the databaseName property, but export happens for the default database which I don't want( so user id and password are accurate and user is active).  Even if I add user and password properties before or after databaseName property value, I still get the same error.  Any ideas?  (JRE8 version).  Could the issue be with the name of database containing a hyphen?

Hi,

Can you verify that the user you are using has permissions to your database ("mydatabase-name")? 

Perhaps, it has only permissions to your default database.


Parsing works properly, so hyphen in the database name should not cause problems.

Regards,

Mariusz Zakrzewski

Thanks Mariusz for the reply.  Yes. the id has access to the database.  I am able to run queries on the schema tables as well as "sys." tables without any issues.  When I put the database name, the user id in the error is coming blanks and not the user id I am passing against the -user argument

+1

Probably your shell interprets semicolon as a new instruction.

I was able to reproduce similar behavior.


$ java -cp .:reverse-engineering.jar:mssql-jdbc-7.2.1.jre8.jar com.vertabelo.reverse.Main -url jdbc:sqlserver://127.0.0.1:1433;databaseName=database-one -user user1 -password 'xxxxxxxxxx' -o out_reverse
Exception in thread "main" com.vertabelo.reverse.asj: Error: missing output file. Specify -o option.
    at com.vertabelo.reverse.Main.main(:5516)
No command '-user' found, did you mean:
 Command 'fuser' from package 'psmisc' (main)
 Command 'kuser' from package 'kuser' (universe)
-user: command not found

But with

$ java -cp .:reverse-engineering.jar:mssql-jdbc-7.2.1.jre8.jar com.vertabelo.reverse.Main -url 'jdbc:sqlserver://127.0.0.1:1433;databaseName=database1' -user user1 -password 'xxxxxxxxxxx' -o out_reverse
No JDBC driver given. Using JDBC driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
Reverse engineering MS SQL Server database
Connecting to the database...
Database: Microsoft SQL Server 14.00.3048
Extracting table information

Extracting view information

Extracting reference information
Extracting sequence information
Preparing xml...
Preparing xml done.
Drawing the graph


Found: 
   0  table(s)
   0  view(s)
   0  reference(s)

Please, try again with quotation marks.

YES. It works with the quotation marks.  Thanks So much....

Thanks so much.  Looks to be working.  More 'o' in status window than previous cases.  Will update in case there is any issue.