gpt4 book ai didi

c# - 即使我在 SQL 控制台中测试命令文本时命令文本是正确的,我的命令文本仍然有错误

转载 作者:行者123 更新时间:2023-11-29 07:03:51 25 4
gpt4 key购买 nike

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“source D://sqldatabase.sql”附近​​使用的正确语法。

MySqlCommand comm = conn.CreateCommand();
comm.CommandText = "source D://sqldatabase.sql";
try {
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
} catch (MySqlException a) {
MessageBox.Show(a.Message);
}

最佳答案

“source”是mysql命令行工具的命令,根本不被服务器识别。

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

C# 也不知道。您必须将该文件读入您​​的程序中,并手动一一执行其中的命令。

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

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();

请注意:

  1. 在命令行上使用密码可能不安全

  2. -p 和密码之间没有空格(重要!)

关于c# - 即使我在 SQL 控制台中测试命令文本时命令文本是正确的,我的命令文本仍然有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42476653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com