VB скрипт для запуска Query - PullRequest
0 голосов
/ 09 декабря 2010

Я пытаюсь подключить командную строку через скрипт VB и далее подключить его к среде Oracle для выполнения некоторых отчетов об открывателе Oracle. Но проблема только в этом VB-скрипте.

строка 2: для установления соединения. строка 7: получение текущего REQUEST_ID. строка 16: XXDIS_EXPORT_CMD_V - это представление, а cmd - столбец. который выбирает подобное значение для соответствующего REQUEST_ID. / ПОДКЛЮЧИТЬ DISCADMIN: «FAI Financials Intelligence» / discbi @ deverp / OPENDB «1 Планирование» / SHEET «Sheet_1» / EXPORT HTML o27673334.out / LOGFILE l27673334.log / BATCH

В конце я хочу выполнить этот cmd с помощью VBScript.

Произошла ошибка:

"В строке 32 tkgoShell не было признан "

Это мой код:

' 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)

1 Ответ

0 голосов
/ 09 декабря 2010

Если я правильно понимаю ваш код, я нигде не вижу, где вы на самом деле создаете tkgoShell.

Попробуйте вставить следующие 2 строки перед последней строкой:

Dim tkgoShell
Set tkgoShell = WScript.CreateObject ("WScript.Shell")

Смотрите здесь для получения дополнительной информации о Shell.Run .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...