【发布时间】:2014-09-01 04:16:19
【问题描述】:
我正在尝试使用 PowerShell 登录 Oracle DB 并运行一个名为“C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql”的脚本,当我执行 PS 时没有任何反应。
这就是我所拥有的。
$adminLogon = "sys as sysdba/manager@ORCL"
$logon = "sqlplus\sql/manager@ORCL"
$mydata = Invoke-SqlPlus -inputfile "@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql" $logon
我也试过这个。
$database = "ORCL";
$user = "sys as sysdba";
$pw = "manager";
sqlplus.exe -d $database -U $user -P $pw -I "@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql"
我试过了。
& 'C:\app\Administrator\product\11.2.0\client_1\BIN\sqlplus.exe' 'QE-JDBC-1/manager@ORCL sys as sysdba' '@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql'
我收到错误消息“&:无法加载模块‘sqlplus’。有关更多信息,请运行‘Import-Module sqlplus’。 在行:5 字符:3 + & $mydata Invoke-SqlPlus -inputfile "@C:\Users\Administrator\Desktop\oracle\Orac ... + ~~~~~~~ + CategoryInfo : ObjectNotFound: (sqlplus\sql/manager@ORCL:String) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : CouldNotAutoLoadModule"
【问题讨论】:
-
你看过“如何在 powershell 中使用带空格和引号的参数运行 exe”,stackoverflow.com/questions/1673967/…。 Keith Hill 的回答对我有用。
-
嘿,如果您仍想在 PowerShell 上运行 SQL*Plus,请查看此模块:powershellgallery.com/packages/JS.OracleDatabase
标签: sql oracle powershell sqlplus