我正在调查有时会发生的错误。我还没有看到任何行为模式。我有一个与服务器通信的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 Server Profiler中尝试过跟踪,但我无法检测到任何错误。
有没有人有我可以尝试的想法?
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
答案 0 :(得分:1)
SafeGUID
功能可能不够聪明。
当
sGUID = "('{5EF4A26A-0909-4371-97F7-A2597CB7ADE3}')"
实际作为参数传递的值是
{('{5EF4A26A-0909-4371-97F7-A2597CB7ADE3}')}
这不是有效的GUID。