2011-01-05 6 views
2

우리는 Oracle 용 SQL Server 용 스크립트 세트를 가지고 있습니다. 이 스크립트는 ANSI입니다.ansi 스크립트를 유니 코드로 자동 변환합니다.

이제 유니 코드 데이터베이스도 지원하고자합니다. 하지만 스크립트를 수정해야합니다. 예를 들어 다른 데이터 유형을 사용하고 문자열 앞에 'N'을 넣는 경우를들 수 있습니다.

유니 코드와 스크립트를 변환하는 도구가 있는지 아는 사람 있습니까? 아직 여러 검색 엔진을 사용하여 아무것도 찾을 수 없습니다.

+1

'ANSI'도 '유니 코드'도 실제 문자 인코딩이 아닙니다. 단일 바이트 문자 집합 (예 : ISO-8859-1 또는 Windows-1252)에서 멀티 바이트 문자 집합 (예 : UTF-8 또는 UTF-16)으로 전환하는 것에 대해 설명하고 있다고 가정합니다. 필자는 많은 개발자가 자신의 앱에서 사용하는 문자 집합을 모르는 사람이 많다는 사실을 알고 있기 때문에 언급합니다. 이는 기본 개념입니다. –

+0

답장을 보내 주셔서 감사합니다. 단일 바이트 문자 집합에서 다중 바이트 문자 집합으로 전환하는 방법에 대해 설명합니다. – Rhapsody

답변

2

오라클에는 두 가지 접근 방법이 있습니다. 데이터베이스 서버를 완전히 제어 할 수 있다면 기본 문자 집합 즉 NLS_CHARACTERSET 매개 변수의 값을 변경하고 나머지 데이터베이스 항목은 변경하지 않은 채로 두는 것이 좋습니다. 일반 CHAR/VARCHAR2 열을 사용하면 전체 텍스트 인덱싱과 같은 더 광범위한 기능 세트를 사용할 수 있습니다.

서버를 완전히 제어 할 수 없거나 이전 멀티 바이트가 아닌 인식 가능한 응용 프로그램과 호환되도록 유지해야하는 경우 NLS_NCHAR_CHARACTERSET 매개 변수의 값을 확인하고 모든 DB 항목을 NCHAR을 사용하도록 변경해야합니다/NVARCHAR2 데이터 형식.

Difference between VARCHAR2(10 CHAR) and NVARCHAR2(10)

마지막으로 적어도, 여기 당신이 몇 가지 유용한 쿼리입니다하지 :

SELECT * FROM NLS_DATABASE_PARAMETERS; 
SELECT * FROM NLS_INSTANCE_PARAMETERS; 
SELECT * FROM NLS_SESSION_PARAMETERS; 

참고 : 나는 마이그레이션을 도울 수 없어요 여기

차이점을 강조 또 다른 질문 도구 또는 SQL Server 부분입니다.

+0

다시 한번 감사드립니다. 나는 내 질문을 바꿔야한다고 생각한다. 당신의 대답은 분명하지만 제 질문은 아닙니다, 저는 생각합니다 :-) 나는 비교적 데이터베이스와 유니 코드에 대해서도 새로운 편입니다. – Rhapsody

+0

@Rhapsody 나는 당신의 질문 중 단지 작은 부분에 대해서만 대답했다는 것을 인정합니다. 필자가 말한 것은 오라클 버전이 변경 될 필요가 없다는 것입니다. –

관련 문제