gpt4 book ai didi

c# - 在 C# 中使用 File.Copy() 时“设备未准备好”

转载 作者:行者123 更新时间:2023-11-30 16:32:47 27 4
gpt4 key购买 nike

我正在尝试将数据库从一个 SQL 服务器移动到另一个。我正在通过一个用 C# 编写的控制台来执行此操作。方法如下。我首先分离数据库,将数据和日志文件移动到新位置,然后从那里附加文件。但是,在分离文件后,我无法复制数据和日志文件。我得到的错误是:“设备还没有准备好”。我正在为源和目标使用网络路径。我正在使用 File.Copy() 移动文件,并且我有权在相应文件夹中创建文件

最佳答案

凭直觉,“设备未就绪”不是文件复制命令生成的 C# 异常。可能的异常(exception)是;

UnauthorizedAccessException, ArgumentException, ArgumentNullException, 
PathTooLongException, DirectoryNotFoundException, FileNotFoundException,
IOException, NotSupportedException

所以这个“错误”可能是内部产生的,根据其他评论,需要更多信息。为了调试这个问题,我建议如下

  • 在代码中出现“设备未准备好”文本字符串的地方放置一个断点
  • 检查代码中的两条路径是否有效
  • 您的程序是为处理 UNC 路径还是文件路径而构建的?
  • 可能异常被静默捕获,但您需要调试才能找到它
  • 如果您尝试移动数据库,是否已停止与该数据库关联的 Windows 服务实例?在运行命令中键入 services.msc,然后滚动到 SQL Server(您的 SQL 实例名称),然后从那里停止服务。这将解锁数据库文件。

祝你好运。

关于c# - 在 C# 中使用 File.Copy() 时“设备未准备好”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804355/

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