【发布时间】:2016-04-15 18:02:10
【问题描述】:
我该如何解决这个错误:
消息 5123,级别 16,状态 1,第 1 行 CREATE FILE 遇到操作系统错误 5(访问被拒绝。)
在尝试打开或创建物理文件“C:\Banking.mdf”时。
【问题讨论】:
-
这看起来离题了,因为它在 DBA stackexchange 上得到了回答。
我该如何解决这个错误:
消息 5123,级别 16,状态 1,第 1 行 CREATE FILE 遇到操作系统错误 5(访问被拒绝。)
在尝试打开或创建物理文件“C:\Banking.mdf”时。
【问题讨论】:
您需要确保您对该帐户具有适当的帐户权限才能访问 mdf 文件所在的文件夹。
更多详情可以在以下链接中找到。
【讨论】:
当我第一次尝试运行 Entity Framework Core / EF Core 时调用“update-database”时遇到了同样的错误。
我解决了!
完整的错误信息是: CREATE FILE 在尝试打开或创建物理文件“C:\Users\peterObjectData.mdf”时遇到操作系统错误 5(拒绝访问。)。
在 C:\Users\ 目录中创建文件需要管理员权限。
要解决此问题,可以在连接字符串中添加 mdf 文件的文件位置和名称: optionsBuilder.UseSqlServer("Server = (localdb)\mssqllocaldb; Database = ObjectData; Trusted_Connection = True; AttachDbFileName=D:\Databases\ObjectDB.mdf");
这里,“D:\Databases\ObjectDB.mdf”是创建的 .mdf 文件的位置和文件名。这解决了我的问题。
如果您想了解有关 ConnectionStrings 和 AttachDbFileName 的更多信息,请参阅以下文档:
https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=netframework-4.7.2#examples
【讨论】:
那一定是你的C盘拒绝SQL服务器创建文件。您可以将方向更改为其他驱动器(D:;E:),或者如果您不想这样做,则必须更改 C:\ 驱动器的安全属性。右击 C:,选择属性,安全,将认证用户和用户更改为完全控制,然后你就很好了
【讨论】: