2015-08-17 3 views
0

Я работаю сначала с кодом EF6. Приложение, которое я пишу, является сервером, который управляет входами и этими входами, хранящимися в базе данных.
Я использовал Миграцию базы данных, но я никогда не указывал строку подключения, потому что я хочу иметь возможность установить строку во время выполнения. Когда я запускал команду update-database, я использовал версию -script.
Теперь проблема в том, что на моей Развивающей машине все работает нормально. Я запускаю сервер спецификацию моей разрабатываемой базы данных, и она прекрасно соединяется, также если я укажу базу данных на удаленном сервере, где она будет опубликована, она будет подключаться. Но, как скоро я перехожу исполняемый файл на сервер и попытаться подключиться к этим серверам локальной базе данных дает мне следующую ошибку:Ошибка сетевого интерфейса SQL 52

Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindu ng mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zuge griffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: SQL Network Interfaces, error: 52 - Es k onnte keine Installation der Laufzeit der lokalen Datenbank gefunden werden. Übe rprüfen Sie, ob SQL Server Express richtig installiert und die Laufzeitfunktion der lokalen Datenbank aktiviert ist.)

English: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled)

Я проверил строку соединения, которая является действительной.
Я не думаю, что это связано с мошенничеством с брандмауэром/Tcp, так как я могу подключиться с другой машины с тем же исполняемым к той же базе данных
И это именно то, что бросает меня за цикл. Как я могу не подключаться локально, но удаленно?
Также на сервере выполняется издание SqlServer Enterprise x64
Эта проблема существует, так как я выполнял миграцию. Так что idk, если он каким-то образом связан.
Я просмотрел некоторые форумы, но все, что я нашел, было обычным делом о настройке соединения Strings и Firewall.

Проблема в том, что я не знаю, как устранить эту проблему.

+0

Можете ли вы выполнить ping-сервер базы данных с компьютера, где он не работает? – Marco

+0

Можете ли вы опубликовать строку подключения? Похоже, вы пытаетесь подключиться к LocalDB на производстве. – Mitch

+0

да, я могу пинговать сервер. Строка подключения устанавливается во время выполнения. Когда я подключаюсь от своего локального компьютера к базе данных сервера, я использую ту же строку соединения (которая очень полезна во время выполнения через вывод context.Database.Connection.ConnectionString, то есть использует правильную строку), как при подключении приложения к сервера. Но на моей локальной машине он подключается, на сервере он дает мне эту ошибку. Я не подключаюсь к LocalDB в производстве –

ответ

0

Я не знаю, как точно установить отношения, но я смог решить эту проблему. Я использовал инициализатор MigrateDatabaseToLatestVersion, и, видимо, это была проблема Теперь я изменил его на инициализатор CreateDatabaseIfNotExists, и он отлично работает.

Смежные вопросы