使用Visio自动化反向工程数据库模型

6
我们使用自定义工具开发和维护数据库模式。SQL脚本和运行时文件是由该工具生成的。然而,它并没有提供很好的可视化表示。
最近我一直在使用Visio来反向工程模式。到目前为止,这个方法非常有效。但是要能够做到这一点,我需要:
  1. 创建一个空数据库
  2. 执行生成的脚本
  3. 启动Visio
  4. 选择反向工程并选择创建的数据库
  5. 选择所有表等
  6. 等待生成
我真的希望自动化这个过程。步骤1和2很容易,但是如何自动化其他步骤呢?
我一直在寻找一个C#库来创建Visio图表,但它们似乎都不适合这个任务。
例如http://visioautomation.codeplex.com/http://www.graphviz.org/看起来很有前途,但仔细一看它们并不适合。
我尝试过录制宏,但是宏记录器不能与反向工程工具一起使用。
2个回答

4

Michiel,

我正在使用Visio 2007和SQLite 3。

今晚我尝试反向工程我的Sqlite3数据库,并且成功了。关键是要下载一个Sqlite的ODBC驱动程序。我在这里找到一些 > http://www.ch-werner.de/sqliteodbc/。我安装了列表顶部的当前版本 "sqliteodbc.exe"。

然后MSVisio的设置有点混乱,所以请原谅我如果我没有按照精确可重复的格式说明细节。

  1. 当你选择:Database > Reverse Engineer > Setup时,新安装的ODBC驱动程序应该出现在Visio中。
  2. 向下滚动并检查三个Sqlite驱动程序中的一个 - 我选择了 "SQLite3 ODBC Driver"
  3. 然后点击 "New" > Check "System Data Source" > 向下滚动选择 "SQLite3 ODBC Driver" > 点击 "Finish"
  4. 在标题为 "ODBC DNS Configuration" 的对话框中,您需要输入Sqlite数据库设置。 "Database Name"只是您的数据库的路径和文件名。 "Data Source Name"可以是任何对您有意义的内容,因为它将出现在Visio下拉菜单中,每当您想要进行反向工程时。您还可以尝试一些其他设置。
  5. 当您开始进行反向工程时,将要求您使用您的凭据连接到数据源。此时,您将收到一个警告...

警告!您正在使用Visio 'ODBC Generic Driver'与'SQLite' DBMS数据源连接。通过使用不兼容的驱动程序,检索到的目录信息可能不完整。

只需单击“确定”并忽略它。

不幸的是,在下一个屏幕中,选择 "Views" 和 "Triggers" 的选项是灰色的(您可以选择Tables:Primary Keys、Indexes、Foreign Keys)。这很遗憾,因为我在我的模式中定义了很多这些,并且我过去在Oracle中从中受益匪浅。

就是这样。希望有人能找到修复视图的方法。

Dan


0
你尝试过使用“刷新”功能吗?我不确定这是2010年的事情还是一直存在。你可以将其指向数据库,它会更新你的模型,以反映自上次以来的更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接