'SQL Server 2005'에 해당되는 글 3건
- 2010.09.06 순번 구하기
- 2009.07.25 SQL Server 2005에서 SchemaSpy 실행하기
- 2009.07.25 [IBM dWs] SchemaSpy - 데이터베이스 문서화하기
TB_DATA에 pk1, pk2, pk_old 가 기본키로 존재했음.
pk_old는 중복된 값이 들어올 수 있어서 pk_new 가 새로운 키로 들어와서 pk_old와 교체해야 하는 상황이 생겼음.
pk_new는 순번이다.
pk_new를 추가하고 기존 기본키를 삭제.
pk_new는 데이터가 들어가 있지 않으므로 순번을 넣어야 함.
- 순번을 rank()를 사용하지 않고 구하는 방법도 있음.
- 위 구문에서 SET 절의 pk_new를 a.pk_new로 하면 다음과 같은 에러가 발생한다.
pk_old는 중복된 값이 들어올 수 있어서 pk_new 가 새로운 키로 들어와서 pk_old와 교체해야 하는 상황이 생겼음.
pk_new는 순번이다.
pk_new를 추가하고 기존 기본키를 삭제.
pk_new는 데이터가 들어가 있지 않으므로 순번을 넣어야 함.
UPDATE TB_DATA --SQL Server 2005 SET pk_new = b.ser FROM TB_DATA a, ( SELECT rank() OVER (PARTITION BY pk1, pk2 ORDER BY pk_old) as ser , pk1, pk2, pk_old FROM TB_DATA ) b WHERE a.pk1 = b.pk1 and a.pk2 = b.pk2 and a.pk_old = b.pk_old
- 순번을 rank()를 사용하지 않고 구하는 방법도 있음.
- 위 구문에서 SET 절의 pk_new를 a.pk_new로 하면 다음과 같은 에러가 발생한다.
메시지 4104, 수준 16, 상태 1, 줄 2
여러 부분으로 구성된 식별자 "a.pk_new"은(는) 바인딩할 수 없습니다.
여러 부분으로 구성된 식별자 "a.pk_new"은(는) 바인딩할 수 없습니다.
- SQL Server 2005에서 SchemaSpy 실행하기
- 日常茶飯事
- 2009. 7. 25. 08:48
- 데이터베이스 타입을 mssql05로 두고, 드라이버를 sqljdbc.jar를 사용한 경우 아래와 같은 에러가 발생한다.
- 데이터베이스 타입을 mssql05-jtds로 바꾼다.
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)
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 - 데이터베이스 문서화하기
- 日常茶飯事
- 2009. 7. 25. 08:14
- 사람을 위한 자동화: 전자동 문서화
- SchemaSpy - Graphical Database Schema Metadata Browser
- Graphviz 가 필요함.
이클립스를 사용하면 설치후 이클립스 재시작 필요
재시작하지 않으면 PATH에 추가된 Graphviz를 Ant로 실행시키지 못한다.
- Ant
- 실행 옵션
그러나 다른 데이터베이스 개체는 안보임.
- 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 : 지정하지 않으면 한글이 깨짐
그러나 다른 데이터베이스 개체는 안보임.
Recent comment