将参数从vbscript传递到oracle存储过程

时间:2010-08-06 10:36:26

标签: oracle vbscript

Dim strConnection,conn,rs,strSQL,objCommand,param     strConnection =“Driver = {Oracle ODBC Driver}; Data Source = DSNNAME; User     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

它将错误作为字符转换为数字转换错误,但我传递给了    代码是3表示整数(但数据类型是数据库中的数字)并且还传递日期

请告诉我如何在oracle中传递参数到date和number数据类型。

2 个答案:

答案 0 :(得分:1)

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

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

我希望这会有所帮助。

答案 1 :(得分:0)

您将空strings传入参数。