我正在尝试启动 MS Access 并使用 System.Diagnostics.Process.Start() 从 C# 打开指定的数据库。
string appPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
appPath = $"{appPath}\\DB Application";
Process process = new Process();
process.StartInfo.FileName = "C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\MSACCESS.exe";
process.StartInfo.Arguments = System.IO.Path.Combine($"{appPath}", "DB.accdb");
process.Start();
当此代码在 .NET Core 6 控制台应用程序中运行时,我收到这两条消息。
“用于启动 Microsoft Access 的命令行包含 Microsoft Access 无法识别的选项。使用有效的命令行选项退出并重新启动 Microsoft Access。”
我单击“确定”,然后收到此消息框。
“Microsoft Access 找不到数据库文件 'C:\Users\myname\AppData\Local\DB.mdb'
Microsoft Access 在这两条消息后启动,但 .accdb 文件未打开。
我需要指定一个开关或不同的参数吗?
R
文件路径中缺少双引号,因为文件夹名称中有空格。试试这个:
process.StartInfo.Arguments = Path.Combine($"\"{appPath}", "DB.accdb\"");