'SchemaSpy'에 해당되는 글 3

  1. 2009.07.25 SQL Server 2005에서 SchemaSpy 실행하기
  2. 2009.07.25 [IBM dWs] SchemaSpy - 데이터베이스 문서화하기
  3. 2009.07.24 SchemaSpy 실행시 charset 지정하기 2

SQL Server 2005에서 SchemaSpy 실행하기

- 데이터베이스 타입을 mssql05로 두고, 드라이버를 sqljdbc.jar를 사용한 경우 아래와 같은 에러가 발생한다.

Failed to retrieve column comments: com.microsoft.sqlserver.jdbc.SQLServerException: variant 데이터 형식은 지원되지 않습니다.
SELECT OBJECT_NAME(c.object_id) AS TABLE_NAME, c.name AS COLUMN_NAME, ex.value AS comments FROM sys.columns c LEFT OUTER JOIN sys.extended_properties ex ON ex.major_id = c.object_id AND ex.minor_id = c.column_id AND ex.name = 'MS_Description' WHERE OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0 ORDER BY OBJECT_NAME(c.object_id), c.column_id
com.microsoft.sqlserver.jdbc.SQLServerException: 연결이 닫혔습니다.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.checkClosed(Unknown Source)
    ...
    at net.sourceforge.schemaspy.SchemaAnalyzer.analyze(SchemaAnalyzer.java:164)
    at net.sourceforge.schemaspy.Main.main(Main.java:21)

- 데이터베이스 타입을 mssql05-jtds로 바꾼다.

[IBM dWs] SchemaSpy - 데이터베이스 문서화하기

- 사람을 위한 자동화: 전자동 문서화

- SchemaSpy - Graphical Database Schema Metadata Browser

- Graphviz 가 필요함.
이클립스를 사용하면 설치후 이클립스 재시작 필요
재시작하지 않으면 PATH에 추가된 Graphviz를 Ant로 실행시키지 못한다.

- Ant
- 실행 옵션
  • -s : SQL Server 2005에서는 테이블명이 dbo.TABLE로 되어 있음. dbo로 지정해야 함.
  • -i : TB.* 는 TB로 시작하는 테이블/뷰만을 대상으로 한다.
  • -cp : path 태그는 안되고 property로 해야 함. 드라이버 위치를 지정해 준다.
  • -charset : 지정하지 않으면 한글이 깨짐
- 뷰도 보임
그러나 다른 데이터베이스 개체는 안보임.

SchemaSpy 실행시 charset 지정하기

SchemaSpy로 생성되는 HTML파일은 charset이 ISO-8859-1이어서 한글이 깨진다.
실행인자를 설명한 표에는 인코딩에 관련된 내용은 없다.
Ant로 처리해야 하나?

오늘[각주:1] 다시 SchemaSpy(4.1.1)를 살펴보다가 소스를 살펴봤다.

- net.sourceforge.schemaspy.view.HtmlFormatter.java

- net.sourceforge.schemaspy.Config.java

이럴수가....문서화되지 않은 인자가 더 많은거 같다.


  1. 2009-07-24 [본문으로]