Arhn - архитектура программирования

Получение имени базы данных из базы данных SQL Server Express в Visual Studio

В настоящее время я использую эту строку подключения для подключения к своей базе данных, созданной в Visual Studio:

Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database1.mdf;User Instance=true

Я пытаюсь разместить сайт с помощью IIS, чтобы я мог возиться с заголовками ответов, но у меня возникает проблема, описанная здесь: строка подключения SQL Server Express для Entity Framework Code First

Я пытаюсь найти, какое имя базы данных указать, но безуспешно. Я пробовал Initial Catalog=Database1, но это дало мне такую ​​ошибку:

Невозможно создать файл D: \ docs \ Visual Studio 2010 \ Projects \ QuickHomePage \ QuickHomePage \ App_Data \ Database1.mdf, поскольку он уже существует. Измените путь к файлу или имя файла и повторите операцию.
CREATE DATABASE не удалось. Некоторые перечисленные имена файлов не могут быть созданы. Проверьте связанные ошибки.

Просто пытаюсь прикрепить к Database1.mdf. Почему выдает ошибки при попытке его создания? В одном из комментариев предлагалось прикрепить файл .mdf к другому экземпляру базы данных, чтобы посмотреть, что внутри него.

Для этого потребуется запустить студию управления SQL Server? Каждый раз, когда я пытаюсь подключиться к Server Type Database Engine и локальному компьютеру, он выдает ошибку подключения.


Ответы:


1

Имя базы данных - это имя, которое вы даете вашему файлу .MDF, когда вы присоединяете его к экземпляру сервера SQL Server (Express). «Внутри» MDF нет фиксированного имени базы данных, которое вам нужно обнаружить - это полностью зависит от вас, как вы назовете свою базу данных на сервере.

Итак, если вы прикрепите свой Database1.mdf вот так:

CREATE DATABASE CrazyDatabase ON
( FILENAME = N’C:\Data\Database1.mdf’ ),
( FILENAME = N’C:\Data\Database1_Log.ldf’ )
FOR ATTACH

тогда имя вашей базы данных CrazyDatabase - но это не имеет никакого отношения к исходному имени файла MDF или любому содержимому внутри него - вы также можете называть его как угодно - как хотите.

В этом случае ваша новая строка подключения будет:

Server=.\SQLEXPRESS;Database=CrazyDatabase;Integrated Security=SSPI;
25.09.2011
  • Значит, бессмысленно указывать и файл .mdf, и базу данных? В процессе прикрепления к реальному экземпляру указываю имя базы данных? Означает ли это, что я не могу использовать файл .mdf с EF, если я хочу размещать через IIS? 25.09.2011
  • @RandomEngy: yes - AttachDbFileName = предназначен для целей разработки только на вашей собственной машине разработчика; как только вы приступите к производству, вы помещаете базу данных на настоящий SQL Server, присоединяете его, и с этого момента вы только когда-либо используете то имя базы данных, которое вы определили - имя (а) файла становится совершенно неактуальным. Вы не должны никогда определять и то, и другое в строке подключения! 25.09.2011
  • Спасибо, что прояснили ситуацию. Теперь у меня все наладилось и все работает хорошо. 25.09.2011
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..