2012-01-12 1 views
1

데이터베이스 "Modern_Spanish_CI_AS"에 대한 저장 프로 시저 스크립트를 생성했습니다. "SQL_Latin1_General_CP1_CI_AS"데이터 정렬이있는 한 서버에서이 스크립트를 문제없이 실행하지만 "Modern_Spanish_BIN"데이터 정렬을 가진 다른 서버에서 일부 변수가 @userLogin (또는 다른 것)으로 선언되고 @userlogin이 사용되기 때문에 스크립트가 실패합니다. 어떤 모자저장 프로 시저 생성을위한 SQL Server 데이터 정렬

스크립트와 같은인지 차이가 ​​없습니다 대 CAPS :

EXEC dbo.sp_executesql @statement = N'my sp body'

또는 스크립트와 같은 것입니다 :

CREATE PROCEDURE [dbo].MySpName

나는 데이터베이스 데이터 정렬을 보장하기 위해 다음과 같은 실행했다 올바른 번호 :

SELECT DATABASEPROPERTYEX('MyDatabase','collation');/*returns "Modern_Spanish_CI_AS"*/

서버 정렬을 변경할 수 없습니다.

스크립트를 성공적으로 실행하고 SP가 잘 작동하는지 확인하기 위해 수천 개의 표현식을 변경하는 것 외에는 어떻게해야합니까? 그리고 sp가 varchar 값을 비교하려고 할 때 런타임에 영향이 있습니까 ???

미리 감사

답변

1

에 당신은 표현의 수천의 경우를 변경 공과를 배우고, 미래에 항상 대소 문자를 구분 데이터 정렬 서버에 코드를 테스트해야합니다.

+0

알맞은 텍스트 편집기를 사용하면 찾기/바꾸기에 도움이됩니다. 대소 문자 차이가있을 수도 있습니다. – StingyJack

+0

감사합니다. –