드로우홀릭 더베이직
액세스 DB 자체를 직접 사용하는 경우는 매우 드뭅니다. 성능이 좋지 않고, 안정성도 뛰어나지 않기 때문이지요.
그래서, SQL Server를 이용하여 ODBC나 OLEDB(ADP)를 이용하여 액세스를 사용하는 경우가 많습니다.
이 때, SQL Server의 데이터 형식이 친숙하게 다가오지 않는데, 다음 표를 이용하면 되겠습니다.
액세스 | SQL Server |
텍스트 | nvarchar |
메모 | ntext |
숫자-바이트 | tinyint |
숫자-정수 | smallint |
숫자-정수(Long) | int |
숫자-실수(Single) | real |
숫자-실수(Double) | float |
숫자-복제 ID | N/A |
숫자-10진수 | decimal |
날짜/시간 | datetime |
통화 | money |
일련 번호 | N/A |
Yes/No | smallint |
OLE 개체 | image |
하이퍼링크 | N/A |
첨부 파일 | N/A |
계산 | N/A |
자주 사용하는 데이터 형식 |
다음 사항에 유의하여 사용하기 바랍니다.
- 앞의 표에서 흐린 녹색으로 칠한 것이 자주 사용하는 데이터 형식입니다.
- 그 이외의 SQL Server 데이터 형식은 거의 사용할 일이 없다고 보아도 되겠습니다.
- 숫자-복제 ID: SQL Server에는 '복제 ID'에 해당하는 데이터 형식이 없습니다. 값이 저장될 데이터 형식을 사용하고, '복제' 속성을 적절히 정의합니다.
- 날짜/시간: 액세스는 년-월-일 시:분:초 까지의 정확도를, SQL Server는 년-월-일 시:분:초.밀리초 까지의 정확도를 나타낼 수 있습니다.
- SQL Server의 경우, 정확하게는 1/300 초 단위의 정확도 입니다. 12:23:45.333 혹은 12:23:45.666 형태까지만 표현할 수 있습니다.
- Yes/No: 직접 대응되는 것은 bit 이지만, 액세스 체크 박스 컨트롤의 값이 -1/0 인데 반해, bit는 1/0이라서 smallint가 더 적합하다고 생각합니다.
- 하이퍼링크: SQL Server에는 하이퍼링크에 해당하는 데이터 형식이 없습니다. nvarchar을 사용하고, VBA를 이용하여 하이퍼링크를 구현해야 합니다. (TFaccess의 xfnShellExecute 함수 이용)
- 첨부 파일: SQL Server에는 첨부 파일에 해당하는 데이터 형식이 없습니다. image를 사용하고, VBA를 이용하여 첨부 파일 기능을 구현해야 합니다. (TFaccess의 '파일' 데이터 형식 이용)
- 계산: SQL Server에는 '계산'에 해당하는 데이터 형식이 없습니다. 계산 결과가 저장될 데이터 형식을 사용하고, '수식' 속성에서 적절한 수식을 정의하면 됩니다.