유니코드로의 적절한 ANSI 변환

연결할 SQL Server의 인스턴스에 ANSI 데이터가 포함되어 있으면 이 데이터는 유니코드로 변환되어 SQL Server Compact 3.5 데이터베이스에 저장됩니다. SQL Server를 실행하는 컴퓨터와 IIS를 실행하는 컴퓨터의 코드 페이지에 따라 변환 오류가 발생할 수 있습니다. 다음은 데이터를 올바르게 변환하는 데 유용한 내용입니다.

SQL Server Compact 3.5 서버 에이전트에서 유니코드로의 ANSI 변환

Microsoft 인터넷 정보 서비스(IIS)를 실행하는 컴퓨터에 설치된 SQL Server Compact 3.5 서버 에이전트는 SQL Server의 ANSI 데이터와 SQL Server Compact 3.5 데이터베이스의 유니코드 데이터 간의 변환을 수행합니다. 올바른 변환을 위해 SQL Server Compact 3.5 서버 에이전트에서는 ANSI를 유니코드로 변환하기 전에 ANSI 데이터가 저장된 코드 페이지를 확인합니다. 여기서 고려해야 하는 내용은 다음과 같습니다.

  • 다른 설정을 사용할 수 없으면 IIS를 실행하는 컴퓨터의 ANSI 코드 페이지가 사용됩니다.

  • SQL Server 2005 이상 버전의 인스턴스를 사용하는 경우 SQL Server Compact 3.5 서버 에이전트에서는 SQL Server 실행하는 컴퓨터의 코드 페이지를 사용합니다. 저장되는 ANSI 데이터를 올바르게 식별하도록 SQL Server의 각 인스턴스가 설정되어 있는 경우 각 연결에 대한 올바른 변환이 자동으로 선택됩니다.

  • 변환에서 저장 중인 데이터의 올바른 값을 제공하지 않으면 레지스트리 키를 특정 코드 페이지로 설정하여 해당 코드 페이지를 재정의할 수 있습니다.

레지스트리 키 만들기로 인한 코드 페이지 재정의

다음은 코드 페이지를 재정의하는 레지스트리 키를 만드는 방법을 보여 주는 단계입니다.

주의

레지스트리를 올바르게 편집하지 않으면 시스템을 심각하게 손상시킬 수 있습니다. 따라서 레지스트리를 변경하기 전에 중요한 데이터는 반드시 컴퓨터에 백업해야 합니다.

  1. 해당 레지스트리 키가 아직 없으면 다음 키를 만드십시오.

    HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\Transport

  2. HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\Transport키 아래에 DWORD 키 값을 만듭니다. 키 값의 이름은 SQL Server Compact 3.5에 대한 IIS 가상 디렉터리와 연관된 로컬 경로로 시작해야 합니다. 예를 들어 Sqlcesa35.dll이 C:\Inetpub\Sqlce\ 폴더에 있는 경우 레지스트리 값의 이름을 C:\Inetpub\Sqlce\OVERRIDE_SERVER_CP로 지정해야 합니다. DWORD 키의 데이터 값은 코드 페이지 값이어야 합니다. 또 다른 예로 영어 코드 페이지의 레지스트리 키 값은 다음과 같습니다.

    키: HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\TransportValue: C:\Inetpub\Sqlce\OVERRIDE_SERVER_CP 1252

  3. 레지스트리 항목을 만든 후 IIS를 다시 시작해야 합니다. 먼저 IIS에서 SQL Server Compact 3.5 서버 에이전트를 로드하는 경우에만 SQL Server Compact 3.5 서버 에이전트에서 레지스트리 키를 읽기 때문에 이 작업은 중요합니다.