好的,
所以我冒了很多脚本,这些脚本是由我的组织中的团队生成的,然后需要通过SQLPlus进行处理
基本上我们/我用脚本位置获取大量电子邮件@Z:/aFolder/aScript.sql;
然后我们必须通过打开SQLPlus并将文件位置粘贴到“@Z:/aFolder/aScript.sql;”中来单独处理它们。
我一直在研究通过c#或VBA
自动执行此操作的方法我认为通过VBA的Windows脚本宿主对象模型选项是一个很好的选择
示例:
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;“
我是否错过了一个特殊角色或其他东西?
我将@符号传递给字符串,但在命令行中无法识别?
非常感谢任何输入,谢谢。
答案 0 :(得分: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
完成:)
答案 1 :(得分:0)
尝试引用路径?
WShell.Run "sqlplus username/pass...@serverlocation.com """ & _
strFilePath & """"