gpt4 book ai didi

c# - 如何从 C# 使用 mysql.exe

转载 作者:可可西里 更新时间:2023-11-01 07:50:21 26 4
gpt4 key购买 nike

我需要从 C# 代码调用以下命令:mysql.exe --user=useranme --password=password --database=base < C:\backups\data.sql

我使用:

process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.FileName = "mysql.exe";
process.StartInfo.Arguments = "--user=useranme --password=password --database=base < C:\backups\data.sql";

process.OutputDataReceived += new DataReceivedEventHandler(delegate(object sender, DataReceivedEventArgs args)
{
Console.WriteLine(args.Data);
});

process.Start();
process.BeginOutputReadLine();

process.WaitForExit();

但它不能直接进入命令行。我看到正确的部分“< C:\backups\data.sql”没有执行。

请帮忙。

最佳答案

这是因为在命令提示符处写入 < filename 会强制 shell 在程序的标准输入 中提交文件 c:\backups\data.sql 的内容。在参数中传递“<”之后的部分是不正确的,因为您必须将文件内容提供给可执行文件的标准输入。为了进行标准输入/标准输出重定向,您可以引用这个问题:

Redirecting stdin and stdout where stdin closes first

然后您会将 data.sql 文件的内容推送到标准输入流。

关于c# - 如何从 C# 使用 mysql.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936805/

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