J'essaie de connecter l'invite de commande via le script VB et de poursuivre sa connexion avec l'environnement Oracle pour exécuter certains rapports d'Oracle Discoverer. Mais le problème est avec ce script VB seulement.Script VB pour exécuter une requête
ligne 2: pour établir la connexion. ligne 7: récupération du REQUEST_ID en cours. ligne 16: XXDIS_EXPORT_CMD_V est une vue et cmd est une colonne.qui sélectionne une valeur comme celle-ci pour REQUEST_ID correspondant. /CONNECT DISCADMIN: "FAI Finance Intelligence"/discbi @ deverp/opendb "1 Scheduling"/FICHE "Sheet_1"/EXPORT HTML o27673334.out/LOGFILE l27673334.log/LOT
En fin de compte je veux exécuter cette cmd en utilisant VBScript.
Erreur à venir:
"In line 32 tkgoShell was not recognized"
Ceci est mon code:
' Process job
Set objADO =CreateObject("ADODB.Connection")
objADO.Open "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=deverp; UID=apps; PWD=apps11i;"
MsgBox "Connection Established to Server.", vbExclamation + vbOKOnly, "System"
Do While True
' Check if there is a job to process
Set moRS=objADO.execute("SELECT apps.xxdis_schedule_pkg.start_job REQUEST_ID FROM dual")
moRS.MoveFirst
msRequest = moRS("REQUEST_ID")
'MsgBox msRequest,msRequest
' If no jobs then exit
' If msRequest = "0" Then
Exit Do
' End If
loop
Set moRS=objADO.execute("SELECT cmd EXPORT_CMD FROM apps.xxdis_export_cmd_v " & _
"WHERE request_id = " & msRequest)
MsgBox msRequest,msRequest
moRS.MoveFirst
msExpCmd = moRS("EXPORT_CMD")
' write command into a temporary file
msCmdFile = "r" & msRequest & ".cmd"
dim moOutputStream,filesys,msCommand
Set filesys = CreateObject("Scripting.FileSystemObject")
Set moOutputStream = filesys.CreateTextFile(msCmdFile, True)
' Substitute $SAMBA$ and $TNS$ locally configured variables
moOutputStream.Write Replace(Replace(msCmd, "$SAMBA$", gsOutDir),_
"$TNS$", gsInstance) & vbCRLF
moOutputStream.Close
' Call Discoverer to process the command
msCommand = gsBinDir & gsDiscoExe & " /EUL " & gsEUL & " /CMDFILE " & msCmdFile
Call tkgoShell.Run (msCommand, 1, true)
J'ai fait les changements et je reçois cette erreur maintenant. Erreur: Impossible d'attendre le processus, Code: 80020009 Source: WshShell.Run, Ligne: 35 –
@Alok: Cela peut arriver si la commande envoyée au 'Run' est malformée (peut-être un mauvais chemin ou manque-t-il des guillemets ou similaire) . –