|
Как в ErWin перенести в базу комментарии к полям?
|
|||
---|---|---|---|
#18+
Как в ErWin 4.1 перенести в базу SQL2000 комментарии к полям? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2003, 16:22 |
|
Как в ErWin перенести в базу комментарии к полям?
|
|||
---|---|---|---|
#18+
Сделал перенос комментариев. Может кому-то будет нужно, помещаю процедуру. Для переноса нужно сохранить файл в xml-формате, написать простенькую программу которая будет вызывать эту процедуру, передавая тело xml-файла модели как параметр. [source] /****************************************************** Описание Перенос примечаний к столбцам из ErWin4.1-модели Если примечания нет, переносится название в логической модели Параметры @xmlIn - xml-файл модели История изменений 06/26/2003 - создан andsm *******************************************************/ CREATE PROCEDURE DB_CreateDefinition @xmlIn text AS set nocount on declare @idoc int exec sp_xml_preparedocument @idoc OUTPUT, @xmlIn declare @CrsWork cursor set @CrsWork=cursor for SELECT * FROM OPENXML (@idoc, '/ERwin4/Model/Entity_Groups/Entity/Attribute_Groups/Attribute/AttributeProps/Physical_Name') with(LogicalName varchar(128) '../../@Name' , EntityName varchar(128) '../../../../@Name', EntityPropsName varchar(128) '../../../../EntityProps/Name', PhysicalName varchar(128) '../Physical_Name', Definition varchar(7500) '../Definition' ) declare @LogicalName varchar(128), @EntityName varchar(128) , @EntityPropsName varchar(128) , @PhysicalName varchar(128), @Definition varchar(7500) declare @strSQL varchar(8000), @iCount int open @CrsWork fetch next from @CrsWork into @LogicalName, @EntityName, @EntityPropsName, @PhysicalName, @Definition -- insert into testdb..TT (Name) values('Test') while @@fetch_status=0 begin if (@Definition IS NULL or RTrim(@Definition)='') set @Definition=@LogicalName set @iCount=(select count(*) from ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table', @EntityName, 'column', @PhysicalName) xp where xp.name in ('MS_Description') ) if (@ICount>0) set @strSQL='EXECUTE sp_updateextendedproperty N''MS_Description'', N'''+@Definition+''' , N''user'', N''dbo'', N''table'', N'''+@EntityName+''', N''column'', N'''+@PhysicalName+'''' else set @strSQL='EXECUTE sp_addextendedproperty N''MS_Description'', N'''+@Definition+''' , N''user'', N''dbo'', N''table'', N'''+@EntityName+''', N''column'', N'''+@PhysicalName+'''' if (Object_ID(@EntityName) IS NOT NULL) begin set @iCount=(select count(*) from syscolumns where id=Object_ID(@EntityName) and [name] in(@PhysicalName)) if @iCount>0 begin --insert into testdb..TT (Name) values(@strSQL) exec (@strSQL) end -- else -- insert into testdb..TErr (strSQL) values('@EntityName='+@EntityName+' '+'@PhysicalName='+@PhysicalName) end -- else -- insert into testdb..TErr (strSQL) values('@EntityName='+@EntityName+' '+'@PhysicalName='+@PhysicalName) -- EXECUTE sp_addextendedproperty N'MS_Description', @Definition , N'user', N'dbo', N'table', @EntityName, N'column', @PhysicalName fetch next from @CrsWork into @LogicalName, @EntityName, @EntityPropsName, @PhysicalName, @Definition end close @CrsWork deallocate @CrsWork SELECT * FROM OPENXML (@idoc, '/ERwin4/Model/Entity_Groups/Entity/Attribute_Groups/Attribute/AttributeProps/Physical_Name') with(LogicalName varchar(128) '../../@Name' , EntityName varchar(128) '../../../../@Name', EntityPropsName varchar(128) '../../../../EntityProps/Name', PhysicalName varchar(128) '../Physical_Name', Definition varchar(7500) '../Definition') EXEC sp_xml_removedocument @idoc GO [/source] ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 10:22 |
|
Как в ErWin перенести в базу комментарии к полям?
|
|||
---|---|---|---|
#18+
Сделал перенос комментариев. Может кому-то будет нужно, помещаю процедуру. Для переноса нужно сохранить файл в xml-формате, написать простенькую программу которая будет вызывать эту процедуру, передавая тело xml-файла модели как параметр. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2003, 10:24 |
|
|
start [/forum/topic.php?fid=32&msg=32193380&tid=1546926]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 261ms |
total: | 394ms |
0 / 0 |