2012-01-30 2 views
0

Ok,Передача Sqlplus расположение сценария с помощью Windows Script Host Object Model в VBA

Так я ház много сценариев, которые создаются с помощью команды в моей организации, которые должны затем быть обработаны с помощью SQLPlus

В основном мы/me получить множество писем с адресом сценария @Z: /aFolder/aScript.sql;

Затем мы должны обработать их индивидуально, открыв SQLPlus и вставив туда папку «@Z: /aFolder/aScript.sql;»

Я искал в способ автоматизировать это либо через C# или VBA

Я думаю, что для Windows Script Host Object вариант модели с помощью VBA является хорошим

Пример:

Option Explicit 

Sub SQLPlus(strFilePath) 

    Dim WShell As New WshShell 
    WShell.Run "sqlplus username/[email protected] " & strFilePath 

End Sub 

Sub test() 

    Call SQLPlus("@Z:/aFolder/aScript.sql;") 

End Sub 

Только проблема заключается в том, что я получаю сообщение об ошибке при передаче этого последнего местоположения файла: «SP2-0310: невозможно открыть местоположение файла» Z: /aFolder/aScript.sql; »

Я пропускаю специальный символ или что-то в этом роде?

Я передаю знак @ в строку, но ее не распознают в командной строке ???

Любой вход очень ценится, спасибо.

ответ

1

Хорошо, теперь это решается [в моде]

Что я делаю передача параметра местоположения файла в файл .bat

Так у меня есть bat-файл OracleSQL .bat, который содержит этот код:

@echo off 
sqlplus username/[email protected] @%1 
exit; 

теперь я могу выложить в пакетный файл с параметром файла:

Dim strBatchName As String 

strBatchName = "C:\location\of\bat\OracleSQL.bat Z:/aFolder/aScript.sql" 
Shell strBatchName 

Готово :)

0

Пробовал процитировать путь?

WShell.Run "sqlplus username/[email protected] """ & _ 
      strFilePath & """" 
+0

К сожалению, я забыл упомянуть, я устал, что подход тоже без успеха – spences10

+0

я видел, что в ваш другой вопрос, но вы не дали много деталей о том, что «не успех» на самом деле имел в виду. ... –

+0

Привет, Тим, успех не означает, что я получил ту же ошибку, что и раньше. Так я получаю ошибку: «SP2-0310: невозможно открыть местоположение файла„Z: /aFolder/aScript.sql;“ я обнаружил, что я могу сделать это с помощью летучей мыши файл SQLPLUS имя пользователя/пароль @ serverlocation.com @ "Z: \ aFolder \ aScript.sql" EXIT; – spences10

Смежные вопросы