就是这个错误:

[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句

SQLSTATE = 37000

网上基本都是众口一词的说,不勾选ODBC数据源中的那个“修改默认数据库为……”,然后就可以反向成功了。但是我尝试了将近一整天,完全没用!

后来打算放弃PD,转投VISIO。发现了一个问题:

VISIO中,如果选择数据库驱动"Microsoft SQL Server",Visio居然直接提示“驱动程序不匹配”!而改用“Microsoft Access”或者“ODBC通用驱动”之后,虽然有“可能丢失信息”、“无法查找到列”之类的提示,但是,反向工程成功了!

于是我回到PD,也改用Access的驱动。结果……除了PD把库中的视图强制转换成了表之外,其它的一切顺利!

估计这是我遇到的一个个案。不过,也算有点启示:不要在一棵树上吊死。换个角度看看,世界可以很美好。