현재 때때로 발생하는 버그를 조사 중입니다. 아직 행동 패턴을 볼 수 없었습니다. 서버와 통신하는 vb6 com + -application이 있습니다.때때로 캐스팅 사양의 문자 값이 잘못되었습니다.
Err: Invalid character value for cast specification. (&H80040E21)
Src: Microsoft OLE DB Provider for SQL Server
Stacktrace:
GetClientRS("SELECT * FROM Visit where GUID=?")
GetVisit("('{5EF4A26A-0909-4371-97F7-A2597CB7ADE3}')")
때때로 발생하는 오류입니다. 어쩌면 5 번마다 1 ~ 2 번 호출됩니다. SQL 서버 프로파일 러에서 추적을 시도했지만 오류를 감지 할 수 없습니다.
누구나 시도 할 수있는 아이디어가 있습니까?
Edit:
Code for calling the command:
GetVisit:
Set cmd = CreateCommand("SELECT * FROM dbo.per_Visit WHERE GUID=?")
cmd.Parameters.Append cmd.CreateParameter(, adGUID, , , SafeGUID(sGUID))
Set GetVisit = GetClientRS(cmd, True)
SafeGUID:
If Mid$(sGUID, 1, 1) <> "{" Then
sGUID = "{" & sGUID & "}"
End If
SafeGUID = sGUID
[명령 줄에서 GUID 값 전달 ...] (http://blogs.technet.com/b/anurag_sharma/archive/2008/02/20/passing-a-guid-value-from- 커맨드 라인을 사용하는 dtexec-to-a-variable-to-a-parameter-in-oledb-source-query-in-ssis-package-fail-with-invalid-character- for-cast-specification.aspx) – IvanH
나는 그것을 고려했다. 그러나 그것이 때때로 일어나는 이유와 항상 그런 이유를 설명하지는 않는다. – isshin
GUID가 제대로 포맷되지 않은 것 같습니다. 당신이 제시하고있는 것이 아니면 실제로 예외를 일으키는 것입니까? – IvanH