无法打开物理文件操作系统错误32

本文关键字:文件 操作 系统错误 | 更新日期: 2023-09-27 17:59:03

好吧,我做了下面的操作来得到错误,不知道数据库连接失败的原因。

  1. 创建新的ASP.NET网站

  2. 将新的*.mdf数据库添加到App_Data

  3. 使用Visual Studio 中的服务器资源管理器向其中添加一些表

  4. 右键单击数据库并复制连接字符串。将其插入WebConfig文件,如下所示

    <connectionStrings>
        <add name="DB" connectionString="Data Source=.'SQLEXPRESS;AttachDbFilename=C:'inetpub'wwwroot'gs'App_Data'db.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    
  5. 添加一些代码以从获取数据

    selectStatement = "select * from users";
    SqlDataAdapter da = new SqlDataAdapter(selectStatement,
    ConfigurationManager.ConnectionStrings["DB"].ConnectionString);
    DataTable dtUsers = new DataTable();
    da.Fill(dtUsers);
    GridView1.DataSource = dtUsers.DefaultView;
    GridView1.DataBind();
    

并且zoot您得到错误

无法打开物理文件操作系统错误32

我偷偷怀疑这与权限有关。完全控制您的"已验证用户"。

如果你想知道如何做到这一点——我在Windows7上,步骤如下:

  • 右键单击MDF文件,然后单击属性
  • 选择"安全"选项卡,然后选择您的"已验证用户"(或看起来正确的东西)
  • 单击"编辑"并选中"完全控制"的"允许"复选框
  • 一路走好

HTH

谷歌的最高结果似乎解决了你的问题:

以防万一,如果有人仍在寻找这个错误的解决方案,这对我来说很有效:

1) 打开VStudio项目您需要连接到SQL数据库

2) 另外,转到开始->运行->Services.msc

3) 查找SQL Server(SQLEXPRESS)服务和停止

4) 重新启动

5) 尝试现在连接数据库。

看起来它工作的原因是与用户实例有关正在进行的讨论线

我一直在努力解决这个错误,我发现错误发生在联机的数据库实例中,所以我从SQLserver管理工作室将其脱机,我已经分享了接下来的步骤和解决方案HERE

在我的例子中,我在尝试将数据库连接到SQLEXPRESS时,将数据库放在实例MSSQLSERVER中。从第一个实例中删除释放了该文件。

关于错误:操作系统错误32,打开错误。。。

首先,授予mdf文件权限。在我的情况下,网络服务帐户可以完全访问数据.mdf.

我的工作空间:

  1. SSMS已附加数据.mdf
  2. 在VS2010的同一时间,我有一个打开的解决方案,具有相同的数据库文件:data.mdf,但无法成功连接

解决方案:在USER INSTANCE上的CONNECTION PROPERTIES中,将TRUE更改为FALSE,并刷新此数据库上VS内部的连接。最后,没有更多的打开错误,您可以在同一时间从SSMS和VS2010访问同一数据库文件。

连接字符串示例:

DataSource=.'SQLEXPRESS;AttachDbFilename=D:'Contracts'App_Data'data.mdf;Integrated Security=True;User Instance=False

问候

Dražen ZG