gpt4 book ai didi

c# - 该进程无法访问文件 'filename',因为它正被另一个进程使用

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:30 26 4
gpt4 key购买 nike

我是 C# 新手,在连接到 Firebird 数据库时遇到问题。我想让我的程序访问 Firebird 数据库 [FDB 格式文件]。我有问题,请看下面的代码:

File.Copy(pathway, new_pathway, true);

FbConnection addDetailsConnection = new FbConnection("User=sysdba;Password=masterkey;Dialect=3;Database= " + new_pathway +
";DataSource=localhost;" );
string SQLCOMMAND = " SELECT UOM FROM ST_ITEM_UOM WHERE CODE = 'ANT'";

addDetailsConnection.Open();
FbCommand readCommand = new FbCommand(SQLCOMMAND, addDetailsConnection);

FbDataReader myreader = readCommand.ExecuteReader();
while (myreader.Read())
{
MessageBox.Show(myreader[0].ToString());
}
myreader.Close();
readCommand.Dispose();
addDetailsConnection.Close();
addDetailsConnection.Dispose();

这段代码让我可以读取我的 FDB 文件并提取数据。当代码第一次执行时,没有错误或问题,但是当我再次执行时,显示此错误:

The process cannot access the file 'C:\Users\ACC-0001.FDB' because it is being used by another process.

最佳答案

您可以使用 Handle检查哪个程序正在锁定文件。这可能是由您的代码或您机器上运行的另一个进程引起的。

工具识别流程,例如:

C:>handle.exe c:\test.xlsx

Handle v3.46 Copyright (C) 1997-2011 Mark Russinovich Sysinternals - www.sysinternals.com

EXCEL.EXE pid: 3596 type: File 414: C:\test.xlsx

如发现here .

如果问题出在您的代码中,请确保您处理并关闭所有连接,最好在 using 部分中使用它们:

using (FbConnection addDetailsConnection = new FbConnection("...")) 
{
// do work
}

可以找到有关使用 using 的更多详细信息 here .

关于c# - 该进程无法访问文件 'filename',因为它正被另一个进程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255614/

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