2010-08-06 6 views
1

Dim strConnexion, conn, rs, strSQL, objCommand, param strConnection = "Pilote = {Pilote ODBC Oracle}; Source de données = DSNNAME; Utilisateur Id = Nom d'utilisateur; Mot de passe = mot de passe; " Set conn = CreateObject ("ADODB.Connection") conn.Open strConnectionpassage du paramètre de vbscript à la procédure stockée oracle

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

Il est de lancer erreur à caractère numéro d'erreur de conversion, mais je passe int le code est 3 pour entier (mais le type de données est numéro dans la base de données), ainsi que la date passe

S'il vous plaît me dire comment passer des paramètres à ce jour et le numéro de type de données Oracle ..

Répondre

0

Vous passez dans le vide strings dans vos paramètres.

1

Je peux voir au moins ces problèmes:

  • Si le script est vraiment VBScript, puis As ADODB.Command et New ADODB.Command sont illégales; ceux-ci sont valables uniquement en VB. Utilisez CreateObject à la place.
  • 8/6/2010 n'est pas un littéral de date valide, c'est une expression entière évaluant à une très petite valeur (presque 0); utilisez #8/6/2010# à la place.

J'espère que cela aide.

Questions connexes