고객 중 한 명과 함께있는 프로젝트의 일부는 UI에 해당하는 히브리어 1037 (데이터베이스에는 영어와 히브리어가 모두 있음) Angular와 C#으로 작성된 시스템. 데이터베이스 자체는 Latin1_General_100_CI_AS와 대조됩니다. 저장 프로 시저는 단일 단어 입력을 가져 오는 것으로 가정하는 검색 매개 변수를 가져오고 SP 내부 코드는 다른 전체 텍스트 검색 쿼리에 대해 해당 매개 변수를 사용합니다.관련 데이터가 있지만 전체 텍스트 검색 저장 프로 시저가 없습니다.
첫 번째 이상한 일은 내가 따옴표와 함께 또는없이 따옴표없이 문자열을 전달할 때 모든 것이 정상적으로 작동한다는 것입니다. 나는 이것이 알려진 버그이며 Microsoft는 언제든지 그것을 고칠 의도는 없다고 읽었습니다.
실제 문제는 전달 된 실제 문자열에 있습니다.
히브리어 또는 숫자 값으로 문자열을 전달할 때 모든 것이 올바르게 작동하고 SQL Server가 관련 데이터를 가져옵니다 (UI 및 SSMS를 통해).
SSMS을 통해 영어 문자열을 전달할 때 SQL Server는 관련 데이터로 응답하지만 UI 시스템이 매개 변수를 전달하면 다시 데이터를 가져 오지 않습니다. 나는 매우 문제에 어떤 도움을 주셔서 감사합니다
ALTER PROCEDURE dbo.SearchByFreeText
@StringToSearch NVARCHAR(500) = NULL
AS
SELECT *
FROM SampleTable
WHERE CONTAINS(SampleColumn, @StringToSearch)
OR
FREETEXT(SampleColumn, @StringToSearch)
:
다음 SQL 코드는 아주 기본적인되는 사용하여 코드 메신저입니다.
감사합니다.