尝试从 powershell 命令行使用 sqlplus 执行 sql 脚本
Posted
技术标签:
【中文标题】尝试从 powershell 命令行使用 sqlplus 执行 sql 脚本【英文标题】:Trying to execute sql script using sqlplus from powershell commandline 【发布时间】:2021-09-06 09:15:37 【问题描述】:我正在尝试使用以下命令从 powershell 执行 sql 脚本:
sqlplus username/password@tnsnamesalias 'path to my sql file.sql'
如果我在没有脚本路径的情况下运行命令,我可以连接到数据库并执行命令。如果我包含脚本路径(包括空格),那么我只会得到 sqlplus 帮助文本,并且不会对数据库进行任何更改。我的 sql 脚本以 END 结束;和/
我做错了什么?
【问题讨论】:
【参考方案1】:我相信你需要在路径前添加@
符号:
sqlplus username/password@tnsnamesalias @'path to my sql file.sql'
【讨论】:
所以,我试过了,我得到以下错误:在此处字符串标题之后但在行尾之前不允许有任何字符。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnexpectedCharactersAfterHereStringHeader 我需要用 ` 来逃避它,谢谢!所以 sqlplus 用户名/密码@tnsnamesalias `@'path to my sql file.sql'【参考方案2】:你忘记了“@”符号,这里的撇号错了。
这适用于我执行“test script.sql”文件
sqlplus .... "@test script.sql"
【讨论】:
以上是关于尝试从 powershell 命令行使用 sqlplus 执行 sql 脚本的主要内容,如果未能解决你的问题,请参考以下文章
如何从PowerShell命令行转义管道字符以传递到非PowerShell命令
Powershell:如何在未连接的计算机上安装适用于 PowerShell 的 Nuget 提供程序,以便可以从 PS 命令行安装 nuget 包?
Powershell在远程计算机上使用命令行参数执行远程exe