We develop and keep our database schema having a custom tool. SQL scripts and runtime files are produced from that tool. However, it doesn't provide an excellent visual representation.

Recently I used Visio to reverse engineer the schema. This really is working great to date. But to have the ability to do that, I have to:

  1. create a clear database
  2. execute the produced script
  3. launch visio
  4. choose reverse engineering and select the produced database
  5. choose all tables, etc
  6. watch for generation

I actually want to automate this method. Step One and a pair of are easy, but how do i automate another steps.

I have been searching for a C# library to produce Visio diagrams, however they al appear not appropriate with this task.

For example http://visioautomation.codeplex.com/ and http://www.graphviz.org/ look promising, but on a closer inspection they weren't appropriate.

I have attempted to record macro, however the macro recorder doesn't work similar to the reverse engineering tools.

If you want to re-generate data model diagrams frequently you need to turn to automation, plus there is a problem together with your project.


I'm using Visio 2007 and SQLite 3.

Tonight I'd a crack at reverse engineering my Sqlite3 database with success. The bottom line is to download an ODBC driver for Sqlite. I discovered some here > http://www.ch-werner.de/sqliteodbc/. I installed the present one towards the top of their email list "sqliteodbc.exe".

Then your MSVisio setup was a little muddled so forgive me if I don't explain the particulars within an exact, repeatable format.

  1. The brand new installed ODBC driver should come in Visio whenever you choose: Database > Reverse Engineer > Setup.
  2. Scroll lower and appearance among the three Sqlite motorists - I selected the "SQLite3 ODBC Driver"
  3. Then click "New" > Check "System DatabasesInch > Scroll lower choose "SQLite3 ODBC Driver" > Click "Finish"
  4. Around the dialog it titled "ODBC DNS Configuration" is to enter your Sqlite database configurations. The "Database Title" is just the path and file title of the database. The "Databases Title" could be anything significant for you because it can look within the Visio dropdown without notice to reverse engineer. You will find another configurations you are able to test out too.
  5. Whenever you commence reverse engineering you'll be requested for connecting for your datasource making use of your qualifications. You now will receive a warning ...

Warning! You're utilizing a Visio 'ODBC Generic Driver' for connecting having a 'SQLite' DBMS datasource. By utilizing an incompatible driver, it's possible the catalog information retrieved is going to be incomplete.

Simply click 'OK' and ignore this.

Regrettably, within the next screen the choice to choose "Sights" and "Triggers" are greyed out (you are able to choose Tables: Primary Secrets, Indexes, Foreign Secrets though). This can be a shame when i have defined many of these during my schema and that i have achieved positive results from rev-enging these in Oracle many occasions previously.

That's it. Hope someone will find a treatment for rev-enging the sights.


Perhaps you have attempted while using "Refresh" feature? I am unsure if that's a 2010 factor or maybe it had been ever present. You point it in the database also it updates your model using the changes since before.