isql을 사용하여 배치 파일을 통해 SQL Server 2000에 데이터베이스 빌드를 릴리스합니다. 배치 파일은 여러 파일이 다른 SQL Server (개발, 테스트, 라이브)에 일관되게 릴리스되도록 사용됩니다.isql을 통해 일관되게 데이터베이스 빌드 해제
SQL Server는 ANSI 코드 페이지 1252 (sp_helpsort)를 사용하지만 isql은 코드 페이지 437을 사용하는 OEM 클라이언트입니다. 즉, ASCII 코드> 128 인 모든 확장 문자는 스크립트 실행시 변환됩니다. "£"와 같은 문자가 스크립트에 포함될 때 일관성없는 결과가 발생합니다. 차이점은 Microsoft knowledgebase article에 설명되어 있습니다.
가능한 해결책은 다음과 같습니다 -
- 저장 유니 코드와 사용 OSQL을 사용하여 스크립트.
- 레지스트리 키를 쓰는 SQL Server 클라이언트 네트워크 유틸리티를 사용하여 AutoAnsiToOem 설정을 해제하십시오.
이러한 옵션은 여러 가지 일을 일관되게하는 사람들에게 달려 있습니다. 파일을 저장할 때 모두 동일한 코드 페이지 옵션을 선택해야합니다. 그렇지 않으면 빌드를 수행하는 모든 사용자가 AutoAnsiToOem에 대해 동일한 옵션 세트를 가져야합니다.
SQL 스크립트 또는 파일을 호출하는 배치 파일에서 코드 페이지를 강제로 사용하여 파일 저장 방법이나 다양한 설정에 관계없이 빌드가 항상 릴리스되도록하는 방법이 있습니까? 누구든지 석방을 수행합니까?