본문 바로가기

개발관련/데이터베이스

MSSQL 과 Oracle의 변수 타입 차이

Oracle 구독자

Microsoft® SQL Server™ 2000에는 Intel 컴퓨터 상의 SQL Server 게시에 대한 Oracle 구독을 지원하는 ODBC 드라이버와 OLE DB 공급자가 포함되어 있습니다. SQL Server 2000 설치 프로그램은 드라이버를 자동으로 설치합니다.

참고   Oracle ODBC와 OLE DB 구독자에 복제하려면 Oracle 또는 소프트웨어 공급업체로부터 적절한 Oracle SQL*Net 드라이버를 구해야 합니다. 그런 다음, 이 드라이버를 게시자와 배포자에 설치해야 합니다.

Oracle 구독자에 대한 복제 제한 사항

Oracle ODBC 구독자에 복제할 때는 다음과 같은 제한 사항이 적용됩니다.

  • Oracle 구독자에는 이름에 공백이 있는 테이블의 복제가 만들어지지 않습니다. 복제는 실패하며 Oracle 오류 ORA-00903: 잘못된 테이블 이름이 발생합니다.

  • date 데이터 형식은 작은 datetime입니다(범위: 4712 B.C. - 4712 A.D.).

    Oracle에 복제하는 경우에는 복제된 열의 SQL Server datetime 항목이 이 범위 안에 있는지 확인합니다.

  • 복제된 테이블에는 long raw에 매핑되는 text 또는 image 데이터 형식의 열이 하나만 있어야 합니다.

  • datetime 데이터 형식은 char4에 매핑됩니다.

  • floatreal 데이터 형식에 대한 SQL Server 2000의 범위는 Oracle 범위와 다릅니다.

다음 표에서는 복제를 위한 데이터 형식을 Oracle 구독자에 매핑합니다.

SQL Server 2000 데이터 형식 Oracle 데이터 형식
bigint NUMBER
binary LONG RAW NOT NULL
bit NUMBER (1, 0)
char VARCHAR2 (900) NOT NULL
datetime DATE
decimal NUMBER (255, 3) NOT NULL
float FLOAT NOT NULL
image LONG RAW
int NUMBER (255, 3) NOT NULL
money NUMBER (255, 3) NOT NULL
nchar VARCHAR2 (2000) NOT NULL
ntext LONG
numeric NUMBER (255, 3) NOT NULL
nvarchar VARCHAR2 (2000) NOT NULL
real FLOAT NOT NULL
smallint NUMBER (255, 3) NOT NULL
smalldatetime DATE NOT NULL
smallmoney NUMBER (255, 3) NOT NULL
sql_variant LONG
sysname CHAR(255)
text LONG
timestamp RAW (255)
tinyint NUMBER (255, 3) NOT NULL

Oracle 데이터 형식 정의

다음은 Oracle 데이터 형식 정의 목록입니다.

Oracle 데이터 형식 정의
CHAR <=2000
DATE 4712 B.C. 1월 1일 - 4712 A.D. 12월 31일
DECIMAL Number와 동일
FLOAT Number와 동일
INTEGER Number와 동일
LONG <=2GB
LONG RAW 원시 데이터. Long과 동일
LONG VARCHAR Long과 동일
NUMBER 1.0E-130부터 9.99..E125까지
SMALLINT Number와 동일
RAW 원시 이진 데이터 <=255바이트
ROWID 고유 값
VARCHAR2 <=4000바이트
VARCHAR Varchar2와 동일
BLOB 대용량 이진 개체 <=4GB
COB 대용량 문자 개체 <=4GB
NCLOB Clob(멀티바이트용)과 동일
BFILE 이진 연산 파일에 대한 포인터


==============================================================================
배운건 오라클인데 회사에서는 MSSQL을 사용하기 땜시 올려봄.
조만간 MSSQL책을 하나 구입해야될듯!!