我需要对Microsoft SQL Server 2008进行逆向工程以创建Microsoft Visio 2007数据库模型图.所以我从Database菜单中选择"Reverse Engineer"来连接数据库.
我配置了Microsoft SQL Server Visio驱动程序,以便使用SQL Server Native Client 10.0作为ODBC驱动程序.之后我创建了一个连接到我的数据库的用户DSN.此DSN有效(至少提供的测试成功).在反向工程向导中单击下一步后,Visio请求我正确提供的凭据,但单击确定后,我收到以下消息:
当前选定的Visio驱动程序与数据源不兼容.
我尝试使用旧的SQL Server ODBC驱动程序,当然还要重新配置Visio驱动程序.它也不起作用.
若要将Visio 2007连接到SQL Server 2008数据库,请运行Visio 2007中的反向工程向导(数据库/反向工程师...),从"已安装的Visio驱动程序"下拉列表中选择ODBC通用驱动程序.然后使用SQL Native Client(2005.90.4035,2005 SP3)创建新数据源.您将收到一条警告,指出检索到的某些信息可能不完整.单击确定继续.这不是最直观的解决方案(但并不困难),但至少这将允许您使用Visio 2007连接到SQL 2008.
Chip Lambert,Slalom Consulting
从Microsoft支持通过Microsoft论坛:
进一步调查显示,这是Visio 2007的预期行为.当Visio使用Visio SQL Server驱动程序打开连接时,它会检查服务器版本,并且自从SQL Server 2008发布后,它不会将SQL Server 2008识别为支持的版本,关闭连接.您可以等待将来发布的Visio版本识别SQL Server 2008或使用可成功打开与SQL Server 2008的连接的Visio Generic ODBC驱动程序.第三种选择是使用SQL Server 2005的副本进行初始逆向工程.Visio团队意识到了这个问题.
一个旧的线程,但仍然是当前的问题...我发现尽管使用ODBC通用驱动程序工作,逆向工程工具然后错过了触发器,检查子句,视图和存储过程.通过指定Access Visio驱动程序,至少我们恢复了Check子句和视图.
但总的来说,我不得不说,我认为这表明他们代表微软的相关团队对他们的客户感到骇人听闻.我去年升级到Visual Studio 2010后发现我的SSIS项目不再开放,我的体验非常相似......从这个帖子可以看出,MS 对此并不在意.