首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在SQL控制台中测试命令文本时命令文本是正确的,我也会在命令文本上出现错误

问即使在SQL控制台中测试命令文本时命令文本是正确的,我也会在命令文本上出现错误
EN

Stack Overflow用户
提问于 2017-02-27 09:56:45
回答 1查看 35关注 0票数 0

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解在第1行'source D://sqldatabase.sql‘附近使用的正确语法。

代码语言:javascript
复制
MySqlCommand comm = conn.CreateCommand();
comm.CommandText = "source D://sqldatabase.sql";
try {
    conn.Open();
    comm.ExecuteNonQuery();
    conn.Close();
} catch (MySqlException a) {
    MessageBox.Show(a.Message);
}
EN

回答 1

Stack Overflow用户

发布于 2017-02-27 10:01:57

"source“是mysql命令行工具的一个命令,服务器根本无法识别它。

因此,当使用mysql.exe (命令行客户端)时,它知道如何处理它,而mysql服务器不知道。

而C#也不知道。您必须将该文件读取到您的程序中,并手动逐个执行其中的命令。

评论中提到的另一种方法是从程序中运行mysql.exe:

代码语言:javascript
复制
using System.Diagnostics;

Process mysql = new Process( );

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "Path\\To\\mysql.exe";
psi.Arguments = " -u[username] -p[password] [database] < D:\\sqldatabase.sql";
psi.UseShellExecute = false;

P.StartInfo = psi;
P.Start();

请注意:

在命令行上使用口令可能不安全

  • -p和口令之间没有空格(重要!)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42476653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档