Невозможно открыть физический файл Ошибка операционной системы 32 - PullRequest
7 голосов
/ 14 июня 2011

Ну, это я сделал ниже, чтобы получить ошибку, не имею понятия, почему соединение с базой данных не удается.

  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();
    

и увеличьте масштаб, чтобы получитьошибка

Ответы [ 5 ]

9 голосов
/ 14 июня 2011

У меня есть подлое подозрение, что это связано с разрешениями.Дайте полный контроль над вашими «Прошедшими проверку».

Если вам интересно, как это сделать - я нахожусь на Windows 7, и шаги идут следующим образом:

  • Щелкните правой кнопкой мыши файл MDF и выберите Свойства.
  • Выберите вкладку «Безопасность» и выберите «Аутентифицированные пользователи» (или что-то, что выглядит правильно).
  • Нажмите «Изменить» и установите флажок «Разрешить» для «Полный доступ».
  • OK полностью.

HTH

1 голос
/ 23 января 2013

В моем случае у меня была база данных в экземпляре MSSQLSERVER при попытке присоединить ее к SQLEXPRESS.Удаление из первого экземпляра освободило файл.

1 голос
/ 26 ноября 2012

Я боролся с этой ошибкой и обнаружил, что ошибка была в экземпляре базы данных, который был подключен к сети, поэтому я перевел его в автономный режим из студии управления SQLserver, я поделился шагами и решением ЗДЕСЬ

1 голос
/ 14 июня 2011

Лучший результат из Google , кажется, отвечает на ваш вопрос:

На всякий случай, если кто-то все еще ищет решение этой ошибки, это работает для меня:

1) Откройте проект VStudio, для которого вам нужно подключиться к базе данных SQL

2) Отдельно, перейти к Пуск-> Выполнить-> Services.msc

3) Ищите Служба SQL Server (SQLEXPRESS) и Останови это

4) Запустите его снова

5) Попробуйте подключить вашу базу данных сейчас.

Похоже, причина, по которой это работает что-то делать с пользовательским экземпляром обсуждение, которое происходит в этом нить.

0 голосов
/ 03 марта 2016

Об ошибке: Ошибка операционной системы 32, Ошибка открытия ...

Прежде всего, дайте разрешение на файл mdf.В моем случае учетная запись NETWORK SERVICE имеет ПОЛНЫЙ ДОСТУП на data.mdf .

Ну, мое рабочее пространство:

  1. SSMS прикрепили data.mdf
  2. В то же время в VS2010 у меня открытое решение с тем же файлом базы данных: data.mdf , но не может успешно установить соединение.

Решение: в CONNECTION PROPERTIES на USER INSTANCE измените TRUE на FALSE и обновите соединение внутри VS в этой базе данных.Наконец, больше нет ошибки открытия, и у вас есть доступ к одному и тому же файлу базы данных одновременно с SSMS и VS2010.

Пример строки подключения:

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

С уважением

DraženZG

...