문제

우리는 업그레이드하는 과정에서의 응용 프로그램을 완벽하게 유니코드 comptibility 으로 우리는 최근에 Delphi2009 제공하는이 있습니다.내가 찾는 사람을위한 경험을 가지고 업그레이드 프로그램을 받아들이는 유니코드 문자입니다.특히 답변해 다음과 같은 질문입니다.

  • 우리는 우리를 변경해야 VarChars 을 이며,Char 을 NChar.이 있는 모든 개는 여기에.
  • 우리는 우리를 업데이트해야 할 모든 sql 문을 포함하는 N 앞에서 어떤 sql 문자열입니다.그래서 업데이트 tbl_Customer 설정 Name='스미스'이 되어야 합 업데이트 tbl_Customer 설정 Name= N'스미스'.방법은 없을 기본값으로 설정하는 방법 이 특정한 필드가 있습니다.그것은 보인 특별한 이것은 여전히 필요합니다.
  • 그것은 가능한 모든 기본값이 설정에서 SQLServer 만들 것입니다 이니까?

ps 우리는 또한 업그레이드해야하는 우리의 Oracle 코드

도움이 되었습니까?

해결책

Oracle 할 필요가 없 사용 nvarchar 를 저장하는 유니코드 문자열이—서버 구성할 수 있습점 varchar2 에 UTF-8 입니다.는 경우에만 지원하는 ASCII 기 전에,그것은 투명해야 합니다.는 것을 방지해야 할 필요한 모든 응용 프로그램-측면을 검색 및 바꾸기 위한 ' 하기 N'.

으로 데미안의점:그것은 도움이되지 않을 수도 있습니다 당신은 지금,하지만 당신은 정말 우선 순위를 제거하의 비 매개 변수가 있는 검색어입니다.그들은 아무것도 하지만 드래그하여 시스템에 유지 관리,성능 및 안전 관점에서.

다른 팁

분명한 SQL 서버에 대한 제한 nchar/이며 절반은 자신의 char/varchar 대응(마이그레이션하지 않으면 모든 것>4000 이며(max))

Damien

나는 확실하지 않는 방법이 유용하신 대답입니다.우리는 큰 700,000 라인의 컴파일 된 코드베이스에 기록되었고 지난 십 년 동안의 큰 숫자를 포함 sql 쿼리를 처리합니다.대부분의 표준화를 몇 가지 기능의 기초가되는 가장 업데이트를 데이터베이스에 있습니다.이러한 업데이트할 수 있는 아주 간단합니다.그러나 우리는 또한 확인해야 할 모든 where 크에서 일어나십시오='%s'는 지금 해야 합크에서 일어나십시오=N'%s'

이것은 진정한 질문을 필요로 하는 실제 대답이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top