Ошибка SQLSTATE = 37000 в PowerDesigner
При реверсивном инжиниринге баз данных SQL Server 2008 в Sybase PowerDesigner 15 иногда возникает ошибка “Unable to list the tables. [Microsoft][ODBC SQL Server Driver][SQL Server][Statement(s) could not be prepared. SQLSTATE = 37000]“

Для устранения этой ошибки необходимо зайти в Tools – Resources – DBMS – Microsoft SQL Server 2008 – Script – Objects – Table – SqlListQuery и SQL-запросе в поле “Value:” заключить поля u.name и o.name в функции fn_listextendedproperty в тройные апострофы:
{OWNER, TABLE, TABLE_TYPE, COMMENT}
select
u.name,
o.name,
case (o.type) when 'S' then 'SYSTEM TABLE' else 'TABLE' end,
(select convert(varchar(8000), value) from ::fn_listextendedproperty(NULL, 'user', '''u.name''', 'table', '''o.name''', null, null) where name = 'MS_Description') as coln
from
[%CATALOG%.]sys.sysobjects o
join [%CATALOG%.]sys.schemas u on (u.schema_id = o.uid)
where
o.type in ('U', 'S')
[ and u.name = %.q:OWNER%]
order by 1, 2
Аналогичные действия нужно сделать для объекта Column. Для объекта Column обрамить тройными апострофами нужно уже три параметра – u.name, o.name и c.name.


osya





