我正在尝试将转储文件(包含 CREATE/DROP/INSERT 命令的 .sql 文件)从 Windows 环境导入远程 MySQL 服务器。我有这个 PowerShell 脚本通过使用安装在我的环境中的“MySQL shell 实用程序”功能来为我完成这项工作
Set-ExecutionPolicy RemoteSigned
Add-Type –Path 'C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.11\Assemblies\v4.5.2\MySql.Data.dll'
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString='server=192.168.100.100;Encrypt=false;uid=myUser;pwd=myPass;database=myDB;'}
$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
$sql.CommandText = "SOURCE D:/MySQL_Dumps/myFile.sql"
$sql.ExecuteNonQuery()
$Reader.Close()
$Connection.Close()
Run Code Online (Sandbox Code Playgroud)
我可以连接到服务器,并执行基本的SELECT查询,使用ExecuteNonQuery()/ ExecuteScalar()/ExecuteReader()方法,但收到此特定的源命令的错误:
使用“0”参数调用“ExecuteNonQuery”的异常:“您有一个错误
在您的 SQL 语法中;检查与您的 MySQL 服务器相对应的手册
在“源”附近使用正确语法的版本
D:/MySQL_Dumps/myFile.sql' at line 1" At line:8 char:1
+ $sql.ExecuteNonQuery()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullQualifiedErrorId : MySqlException
我尝试了几种替代方法来输入路径,比如使用双斜杠或双反斜杠,但遇到了同样的错误。任何人都可以帮忙吗?
小智 8
./mysql -u root -p DatabaseName -e "source C:\path\to\my_sql_file.sql"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |