Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reverse Engineering for Database Diagramming in Visio with SQL Server 2008

People also ask

How do I reverse engineer database in Visio?

How to Reverse Engineer in Microsoft Visio. Go to File -> New -> Database -> Database Model Diagram. On the menu bar, choose Database -> Reverse Engineer.

Can Visio connect to SQL Server database?

Connect SQL Server Data to Diagrams Open Visio and click File -> New. Open the Brainstorming template. On the Data tab, click Link Data to Shapes. Select the ODBC option and select ODBC DSN.


To connect Visio 2007 to a SQL Server 2008 database run the Reverse Engineer Wizard (Database/Reverse Engineer. . . ) in Visio 2007 select the ODBC Generic driver from the "Installed Visio drivers" drop-down. Then create a new data source using the SQL Native Client (2005.90.4035, 2005 SP3). You'll get a warning stating that some information retrieved may be incomplete. Click OK and continue. It's not the most intuitive solution (but not difficult), but at least this will allow you to use Visio 2007 to connect to SQL 2008.

Chip Lambert, Slalom Consulting


From Microsoft support via the Microsoft forums:

Further investigation reveals that this is expected behavior for Visio 2007. When Visio opens a connection using the Visio SQL Server Driver it checks the server version and since SQL Server 2008 shipped after Visio 2007 it doesn't recognise SQL Server 2008 as a supported version and closes the connection. You can wait for a future version of Visio to ship which does recognise SQL Server 2008 or use the Visio Generic ODBC driver which can successfully open connections to SQL Server 2008. A third option is to use a copy of SQL Server 2005 for initial reverse engineering. The Visio team is aware of this issue.


An old thread but still a current problem ... I found that although using the ODBC Generic Driver worked, the reverse engineering tool then misses out Triggers, Check Clauses, Views and Stored Procedures. By specifying the Access Visio Driver instead, at least we recover the Check Clauses and Views.

In general, though, I have to say I think this shows an appalling lack of regard for their customers on behalf of the relevant teams at Microsoft. I had a very similar experience last year when upgrading to Visual Studio 2010 only to discover that my SSIS projects no longer opened ... as can be seen from this thread, MS could not care less.


You could create a User DSN in the ODBC Data Source Administrator utility and then connect to your instance of MSSQL 2008 through Visio 2007 by using the selecting the ODBC Generic Driver instead of the Microsoft SQL Server driver.

You could also try the SQL Server 2008 Data Mining Addins for Office 2007.

Grab them here: http://www.microsoft.com/downloads/details.aspx?FamilyId=896A493A-2502-4795-94AE-E00632BA6DE7&displaylang=en

I hope this helps!

Cheers


I ended up using the Generic OLE Db Provider instead of the ODBC Generic driver to connect to SQL Server 2008 - datatypes seemed to come through OK.