【问题标题】:passing parameter from vbscript to oracle stored procedure将参数从 vbscript 传递到 oracle 存储过程
【发布时间】:2010-08-06 10:36:25
【问题描述】:

dim strConnection, conn, rs, strSQL, objCommand, param strConnection = "驱动程序={Oracle ODBC 驱动程序};数据源=DSNNAME;用户 id=用户名;密码=密码;" 设置 conn = CreateObject("ADODB.Connection") conn.Open strConnection

Dim cmdInsert As ADODB.Command
Set cmdInsert = New ADODB.Command
cmdInsert.ActiveConnection = conn
cmdInsert.CommandText = "sp_ins_test"
cmdInsert.CommandType = 4
cmdInsert.Parameters.Refresh

Set param = cmdInsert.Parameters
param.Append cmdInsert.CreateParameter("v_BG_EI_DEFECT_TYPE", 200, 1, 100, "abc")
param.Append cmdInsert.CreateParameter("v_BG_EI_APP_ID", 3, 1, 8, 1) 
param.Append cmdInsert.CreateParameter("v_BG_DETECTION_DATE", 133, 1, 100, 8/6/2010)

cmdInsert.Execute

它作为字符到数字的转换错误抛出错误,但我正在传递 int 整数的代码是 3(但数据类型是数据库中的数字)并且还传递日期

请告诉我如何在 oracle 中将参数传递给日期和数字数据类型..

【问题讨论】:

    标签: oracle vbscript


    【解决方案1】:

    我至少可以看到这些问题:

    • 如果脚本真的是VBScript,那么As ADODB.CommandNew ADODB.Command是非法的;这些仅在 VB 中有效。请改用CreateObject
    • 8/6/2010 不是一个有效的日期文字,它是一个整数表达式,计算结果非常小(几乎为 0);请改用#8/6/2010#

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您正在将空的strings 传递到您的参数中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-16
        • 2012-11-23
        • 2012-09-24
        • 2013-10-24
        • 2011-07-29
        • 2010-11-12
        • 2021-04-02
        • 2014-08-10
        相关资源
        最近更新 更多