最近在学习使用PowerDesigner,使用的版本是11.0.0.1363,数据库软件为Sql Server 2005。
练习使用反向工程功能时,由于11版本里面没有sql2005的DBMS定义,故选择sql2000DBMS定义,执行后报错:Unable to list colums。
[Microsoft][ODBC SQL Server Driver][SQL Server]未能准备语句。SQLSTATE = 37000
此时,能够显示所有表名及关系,但表实体中没有列信息。
于是,逛论坛、狂搜索,试验了相关方法,包括配置ODBC时不选择“更改默认数据库”等,未解决。
由文章“如何让PowerDesigner支持含SQL2000表和列注释的脚本”得到启发:
是否由于缺少了SQL server2005的DBMS定义导致呢?
在%appHome%/Resource Files/DBMS下查看DBMS定义文件命名方式,遂在Google搜索“sqlsrv2k”(百度没搞定),找到一个Power Designer Definition File Library网页,网址:http://www.datamodel.org/PowerDesigner/DEFindex.html ,下载Version 11 XDB Files 名为sqlsrv2k05.xdb(174kb),导入%appHome%/Resource Files/DBMS目录,重启PD,再做反向工程,ok,列信息都出来了。
--20080609