0

Ok、

そのため、組織内のチームによって生成された多くのスクリプトがあり、SQLPlus を介して処理する必要があります

基本的に、スクリプトの場所 @Z:/aFolder/aScript.sql を含む電子メールを大量に受け取ります。

次に、SQLPlus を開き、そこにファイルの場所を貼り付けて、"@Z:/aFolder/aScript.sql;" を個別に処理する必要があります。

私は、C#またはVBAのいずれかを介してこれを自動化する方法を検討しています

VBA 経由の Windows Script Host Object Model オプションが良いと思います

例:

Option Explicit 

Sub SQLPlus(strFilePath) 

    Dim WShell As New WshShell 
    WShell.Run "sqlplus username/pass...@serverlocation.com " & strFilePath 

End Sub 

Sub test() 

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

End Sub 

唯一の問題は、最後のファイルの場所を渡すとエラーが発生することです:「SP2-0310: ファイルの場所を開けません "Z:/aFolder/aScript.sql;"

これから特殊文字か何かが欠けていますか?

@ 記号を文字列に渡しましたが、コマンド ラインで認識されませんか??

ご意見をお寄せいただきありがとうございます。

4

2 に答える 2

1

わかりました、これで解決しました [ある方法で]

私がやっていることは、ファイルの場所のパラメーターを .bat ファイルに渡すことです

したがって、次のコードを含む .bat ファイル OracleSQL.bat があります。

@echo off 
sqlplus username/password@serverlocation.com @%1 
exit; 

これで、file パラメーターを使用してバッチ ファイルにシェル アウトできます。

Dim strBatchName As String 

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

終わり :)

于 2012-02-02T11:39:12.063 に答える
0

パスを引用してみましたか?

WShell.Run "sqlplus username/pass...@serverlocation.com """ & _
             strFilePath & """"  
于 2012-01-30T19:10:38.277 に答える