Du erzeugst ein viruelles Wertepaar über Deine Parameter. Die Parameter sind allerdings nicht typisiert, das könnte ein Teil des Problems sein.
Dann ist mir nicht wirklich klar, was Du mit dem gesamten Statement erreichen willst, insbesondere da die genutzte Datenquelle ein "Einzeiler" aus dem Client ist. Dieser Statementtyp ist m.E. sehr gut geeignet, um Tabellen innerhalb der
DB massenhaft anzureichern / zu ändern, gespeisst aus anderen Tabellendaten. Die Parametrierung wird dabei dann nur als Einschränkung verwendet, nicht als Datenquelle.
Würde hier nicht ein simples insert reichen?