2009-06-17 3 views
1

this article 따르면 특정 응용 프로그램에 영향을 미칠 수있는 Windows 7에서 NLS 정렬 변경이있을 것입니다.NLS 정렬 변경 Windows 7

내가 작업중인 응용 프로그램이 이러한 NLS 정렬 변경의 영향을 받는지 알아 내려고하고 있습니다. 내가 MSDN에 약간의 검색을했고, NLS 정렬 기능의 경우 목록 확인 :

CompareString 
CompareStringEx 
CompareStringOrdinal 
LCMapString 
LCMapStringEx 
LCMapStringEx 
FindNLSString 
FindNLSStringEx 
FindStringOrdinal 

내 응용 프로그램의 코드베이스를 검색하고 그 위의 모든 기능을 사용하지 않습니다. 내 응용 프로그램이 NLS 정렬 변경의 영향을받지 않는다고 가정하기에 충분합니까?

위 기사에서는 Application Compatibility Toolkit에 포함 된 정렬 변경 강건성 진단 도구를 사용하여 응용 프로그램이 NLS 변경 사항으로부터 안전한지 확인하는 방법에 대해 설명합니다. Application Compatibility Toolkit을 다운로드했지만 툴킷에서 정렬 변경 강건성 진단 도구를 찾을 수 없습니다.

+0

다음 번에 귀하의 질문을 다시 읽고 정확하게 이번에는 귀하와 같은 형식으로 작업하십시오. – OregonGhost

답변

2

아니요. 많은 API가 내부적으로 이러한 API를 호출한다는 사실을 숨기고 있기 때문입니다.

wrt NLS에 대해 걱정할 필요가있는 실제 사항은 정렬 순서에 따라 데이터 색인을 저장 한 데이터베이스와 유사한 응용 프로그램을 작성하는 경우입니다. 가장 큰 위험은 다음과 같은 시나리오입니다 :

  1. 데이터베이스 Vista에서 인덱스를 구축, 비스타의 정렬 순서를 사용
  2. 당신은 Win7에로 업그레이드하지만 데이터
  3. 당신은 조회를 만들거나 항목을 추가로 이동
  4. 을 유지, 그러나 데이터베이스가 손상됩니다
  5. Win7에의 정렬 순서 사용/이상한 결과
  6. 그러나

, 희망이를 반환 - 당신이 당신의 인덱스 여부를 다시할지 여부를 결정하기 위해 GetNLSVersion API를 사용할 수 있습니다; 인덱스를 만들 때 작성한 버전도 캐시합니다. 시작했을 때 버전이 이고 다른 경우 (예, 드물지만 번호가 내려갈 수 있음) 색인을 삭제하고 다시 작성하십시오.

편집 : 당신은 SQL Server 또는 MySQL은 같은 프로덕션 데이터베이스를 사용하는 경우, 그들은 모든 무대 뒤에서 당신을 위해 이것을 처리하는, 그래서 당신은 단지 이러한 데이터베이스를 조회하는 경우 걱정하지 마십시오.