【发布时间】:2023-03-17 13:40:02
【问题描述】:
我试图读入一个由 powershell 执行的 sql 文件。一切正常,除了 powershell 由于单词分隔符而引发错误。 所以我的问题是如何在我的 sql 文件中使用分隔符(我只能对 sql 文件进行微小的更改,其代码必须保持相对不变)但通过 powershell 正确加载它。
这是我从两个文件中获取的代码以及我得到的错误。提前谢谢你。
Powershell:
$sql = (Get-Content $pwd\NewClient.sql) | Out-String
$cmd.CommandText = "USE $dbname"
$cmd.ExecuteNonQuery()
$cmd.CommandText = $sql
$cmd.ExecuteNonQuery()
SQL:
delimiter //
......
end;//
delimiter ;
使用“0”参数调用“ExecuteNonQuery”的异常:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'Delimiter // 附近使用的正确语法 在第 1 行插入停止后创建触发器 stop_time_insert"
【问题讨论】:
-
可以发一下SQL代码吗?另外,我认为 use 语句不会对第二次调用 ExecuteNonQuery 产生任何影响。
-
抱歉我的无知,但是我怎么能把代码发给你呢?我快速搜索了一下,发现 SO 没有 PM 选项。我应该在这里简单地粘贴代码吗?
-
对不起,我第一次误解了这个问题。我猜这个问题与两个系统之间的线路终结器有关。我的猜测是mysql正在选择“分隔符//创建触发器......”一行,导致语法错误。我不确定如何解决这个问题。
标签: mysql database powershell delimiter