【发布时间】:2018-06-05 08:17:26
【问题描述】:
我需要编写一个小的 VBScript 来调用带有输入变量的 SQL 过程。我对 VBscript 没有太多经验,而且我遇到了一个我找不到解决方案的错误。我收到的错误是:
OnNewRecord(第 14 行):[ODBC Firebird 驱动程序][Firebird]过程 TEST 的动态 SQL 错误输入参数不匹配
我写的VBScript是:
Const Connection = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\Users\wouter\FOR-TESTING.fdb;"
Const adParamInput = 1
Const adInteger = 3
Set myConn = CreateObject("ADODB.Connection")
myConn.Open Connection
Set spCommand = CreateObject("ADODB.Command")
spCommand.Commandtext = "TEST"
spCommand.CommandType = 4
Set parameter = spCommand.CreateParameter(, adInteger, adParamInput, 4, 5)
Set spCommand.ActiveConnection = myConn
spCommand.Execute
myConn.Close
这个 VBscript 正在调用以下过程:
CREATE OR ALTER PROCEDURE TEST (ID INTEGER)
AS BEGIN
UPDATE MATERIAL_LABEL SET PRINTED = 'T', HANDLED_DATE = CURRENT_TIMESTAMP
WHERE ID = :ID;
END
ID INTEGER 应该是一个变量输入,但为了测试我使用数值 5 的代码。我认为这与需要不同类型输入的过程有关,但我找不到。
【问题讨论】:
-
你创建了一个参数,但你从来没有append它到你的查询中,所以存储过程实际上是在没有它期望的参数的情况下调用的。
标签: sql vbscript parameters procedure