none
SQL 2005 프로시져 매게변수를 유니코드로 호출할때 검색 안되는 경우 RRS feed

  • 질문

  • 스토어드 프로시저를 작성한뒤
    해당 프로시저를 호출할때 스트링을 유니코드형으로 넘길때

    sSql.Formet(_T("EXEC Set_ProcName N'%s', %d ....")) <=== 이런식으로 넘깁니다

    프로파일러에서 넘어온 구문을 보면 EXEC Set_ProcName N'TestName' 이렇게 넘어오는걸 볼수 있습니다.

    하지만, 해당 프로시저 내부에서는 넘겨 받은 스트링으로 검색을 하질 못하네요

    이걸 어떻게 해결을 해야 되는지 좀 알려주세요

    2009년 12월 8일 화요일 오전 1:31

모든 응답

  • 검색하는 대상 칼럼의 Collation을 확인하십시오.

    유니코드라고 할지라도 Collation이 다른 경우 검색을 하지 못하는 경우가 발생할 수 있습니다.

    저장프로시저 내부에서는 어떻게 사용을 하시나요?

    LIKE를 쓰시나요? 아니면 = 검색을 하시나요?

    먼저 SSMS 나 쿼리분석기에서 동일한 프로필러에서 잡힌 쿼리를 가지고 정확하게 검색이 되는지부터 확인하셔야 할 것 같습니다.

    감사합니다.


    Best Regards, Daejoong Samuel Sung Microsoft SQL Server MVP, MCP Consultant @ SQLRoad.COM SQL Directory Editor @ NAVER.COM http://blog.naver.com/dreamania_73 http://SQLAcademy.com Cell +82(0)10.4727.1051 Office: +82(0)2 2008 3659 Fax +82(0)2-6711-0399 “He redeemed us in order that the blessing given to Abraham might come to the Gentiles through Christ Jesus, so that by faith we might receive the promise of the Spirit” (Galatians 3:14)
    2009년 12월 8일 화요일 오전 2:06
    중재자