Unable to connect to the database/ru

From Dragon Age Toolset Wiki
Jump to: navigation, search
Невозможно подключиться к базе данных
Начало / Русская DA Builder Wiki / Поделиться ВКонтакте

Вступление

Unable to connect to database.png

Если при запуске тулсета появляется сообщение об этой ошибке, это означает, что проблема возникла при попытке подключения к серверу базы данных SQL Server 2005. К сожалению, это довольно распространённая ошибка, но довольно непредсказуемая. Когда тулсет запускается, он пытается подключиться к базе данных. Если база данных не отвечает, то тулсет просто возвращает эту ошибку, не имея средств для диагностики причин её возникновения.

Проводя аналогию с автомобилем :) можно сказать, что эта ошибка как лампа "Service(Check) Engine" у вашего автомобиля (если конечно у вас не ВАЗ-классика). Когда эта лампа начинает мигать, это означает, что что-то работает неправильно, но что именно - вы не поймёте. Это весьма общее предупреждение. Причиной этого может быть что угодно, начиная плохими свечами зажигания и заканчивая сломанными датчиками.

Когда дело доходит до ошибки подключения, вы будете разрываться между вариантами проблем:

  • Конфликт с существующей установкой SQL Server
  • Проблемы в реестре
  • Косяк с местом установки
  • E.t.c., в смысле и т.д.

Список получится длинным, но его можно сократить. Вот руководство по устранению неполадок, призванное попытаться помочь вам диагностировать, какие конкретно проблемы вызывают ошибку подключения и как их исправить. Если всё-таки не получилось, то возможно вам поможет ручная установка, которая может оказаться более эффективной, так как вы собственноручно настраиваете сервер и можете лучше увидеть возможные в будущем проблемы.

Потенциальным помощником в разрешении данной проблемы станет также логи, в которые записываются ошибки подключения:

  • C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
  • C:\Program Files\Dragon Age\tools\toolssql\MSSQL.1\MSSQL\LOG\ERRORLOG

Для чтения их вам понадобится наличие администраторских прав.

Вот, для примера, содержимое такого файла:

2011-01-02 11:32:15.08 Logon       Error: 18456, Severity: 14, State: 38.
2011-01-02 11:32:15.08 Logon       Login failed for user 'EXAMPLE\Example'. Reason: Failed to open the explicitly specified database. [CLIENT: <named pipe>]

Обратите внимание, что Windows 7 автоматически блокирует файлы, найденные в C:/ (значок замка на папке). Возможно вам понадобится установить общий доступ для домашней группы (чтение/запись). Это позволит программе установки получить доступ к файлам игры для правильной установки MSSQL Server Express.


kelamor: По всей видимости речь идёт о случае, когда игра установлена на том же диске, что и операционка.


Если это случилось после переустновки SQL

Удилите старый SQL В ТОМ ЧИСЛЕ И ВСЕ ПАПКИ ИЗ PROGRAM FILES И УСТАНОВИТЕ ЗАНОВО.

Диагностика проблемы

Имеется ли база данных (создана/восстановлена)? Нет
Установился ли SQL Server? Нет
Возможные решения:
  1. Не хватает прав: Запустите установщик с правами администратора
  2. Длинный путь: Попробуйте изменить путь установки
  3. Сжатый диск: Попробуйте изменить диск установки либо отменить сжатие диска
Да
Да
Запущен ли сервис базы данных? Восстановите базу данных и перезапустите тулсет
Да
Нет
Верны ли настройки подключения тулсета к базе данных? Запустите сервис и перезапустите тулсет

Имеется ли база данных (создана/восстановлена)?


kelamor: Маленькое пояснение насчёт терминов "создана/восстановлена". Программа установки тулсета после установки сервера восстанавливает базу из поставляемого вместе с ним бэкапа базы данных, отсюда и путаница(во всяком случае для меня). Я же в дальнейшем буду писать "создана".


Проверьте папку установки тулсета на предмет наличия в ней файлов базы данных. В зависимости от места установки тулсета и игры они должны быть в местах, похожих на:

  • C:\Program Files\Dragon Age\tools\toolssql\Data\ <--- версия 1.00 устанавливается в папке "Tools"
  • C:\Program Files\DAODB\ <--- путь установки для версии 1.01 (уже лучше)

Проверьте, есть ли в этих папках два файла:

  • bw_dragonage_content.ldf
  • bw_dragonage_content.mdf

Если файлы есть:, это указывает на то, что SQL Server был установлен и актуальная база тулсета была создана. Переходите к следующим шагам диагностики.

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

1. Скачайте и используйте SQL Management Studio для создания базы данных и восстановления её контента. Этот способ рассмотрен в статье по ручной установке базы данных. Так как SQL Server уже установлен, вам нужно пропустить первый шаг и начать с раздела "Установка SQL Server Management Studio Express".

2. Запустите операцию создания и восстановления через исполняемый bat-ник. Смотрите статью про бэкап и восстановление базы данных. Также там представлен раздел "Обработка ошибок", так как bat-ник предоставляет номера ошибок.

↑ К схеме

Установился ли SQL Server?

Откройте меню "Пуск" и убедитесь, что сервер установлен (По умолчанию: Пуск -> Программы -> Microsoft SQL Server 2005). Если ничего не нашли, то возможны две основные причины:

  1. Во время установки вы сняли отметку с флажка "Install MSSQL Express 2005 SP3". В этом случае надо повторно запустить установку тулсета указав на необходимость установки SQL сервера, либо установить SQL сервер вручную.
  2. Во время установки произошла непредвиденная ошибка и сервер не установлися. Вы можете попробовать повторную установку тулсета, либо установить SQL сервер вручную.

Обратите внимание: MSSQL Server не устанавливается в сжатые и шифрованные папки.

↑ К схеме

Устновка framework для Windows 7

Нужно включить все компоненты framework (в первую очередь)

панель управления --------> удаление программ ---------> включение или отключение компонентов виндовс (в боковом меню), галочки напротив всех компонентов framework

Запущен ли сервис базы данных?

Если служба(сервис) работает, это признак того, что SQL Server установлен правильно и база данных доступна для использования тулсетом.

Вы можете проверить, работает ли сервис, открыв приложение "Службы". В зависимости от вашей операционной системы, путь может быть немного другой, но если примерно, то Пуск - Панель управления - Администрирование - Службы, либо наберите "services.msc" в окне запуска приложений.

Пролистайте список и найдите службу с именем "SQL Server (BWDATOOLSET)". Проверьте состояние службы. Если служба не запущена, то запустите её.

Если служба не запускается или не существует, значит присутствует какая-то проблема с установкой SQL Server. Возможно файлы базы данных были удалены вручную, а служба висит в списке. Путь к исполняемому поле может содержать некоторые подсказки. здесь.

  • Убедитесь в наличии SQL Server (BWDATOOLSET): Откройте SQL Server Configuration Manager (по умолчанию Пуск - Microsoft SQL Server 2005 - Configuration Tools - SQL Server Configuration Manager) и в дереве объектов на левой панели щелкните мышью на SQL Server 2005. Убедитесь, что запись для SQL Server (BWDATOOLSET), находящаяся на правой панели имеет статус Running. Если нет, то выберите его и запустите (можно с помощью кнопки на панели инструментов или опции в контекстном меню).

↑ К схеме

Верны ли настройки подключения тулсета к базе данных?

Запустите программу конфигурации тулсета (en) для проверки настроек и тестирования соединения с базой данных.

Примечания:

  • Было отмечено, что для некоторых сборок тулсета возможны ошибки подключения, зависимые от ключей реестра. Возможна имеется связь с ограничением разрешений.
    1. Во-первых используя "Configure Toolset" установите правильную строку подключения.
      Если вы не используете настройки по умолчанию, то вы можете скопировать строку из "Configure Toolset", в противном случае используйте одну из следующих командных строк запрос:
      Win32: reg query "HKLM\SOFTWARE\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection
      Win64: reg query "HKLM\SOFTWARE\Wow6432Node\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection
    2. Теперь запустите из командной строки следующую команду(заменив строку соединения)
      reg add "HKCU\Software\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection /t REG_SZ /d "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bw_dragonage_content;Data Source=.\BWDATOOLSET"
Тщательно проверьте правильность ввода, так как один неправильный символ вызовет ту же ошибку подключения.

↑ К схеме]

Ручная установка

С помощью ручной установки SQL сервера и базы данных ошибка подключения практически всегда решается положительно. Если же проблема не решится, то вы, по крайней мере, будете знать, почему это произошло, тогда как установка одновременно с тулсетом вам этого не даст. Итак, если ошибка "Unable to connect to the database" уже напрягает вас, вы хотите, чтобы тулсет наконец-таки заработал, и не хотите проблем, то вот вам решение:

  1. Установите тулсет с отключенными опциями установки SQL сервера и базы данных.
    Toolset setup screen.png
    Снимите флажки с опций установки образом, указанным на рисунке. Это позволит вам установить только файлы тулсета без каких-либо действий по установке SQL сервера и базы данных. Конечно в этом случае при запуске тулсета вы получите ошибку "Unable to to connect to the database".
  2. Вручную установите SQL Server и создайте базу данных
    Это не так тяжело как может показаться и как описано в этой статье. Если говорить проще, то если вы решитесь на этот шаг, вы берёте процесс установки SQL сервера и базы данных под свой контроль и делаете всё по своему усмотрению. Ручная установка позволит вам отслеживать основные ошибки и своевременно находить пути решения.

Почему это должно сработать?

Тулсету для запуска нужен установленный SQL сервер с базой данных, содержащих контент игры. Программа установки тулсета содержит встроенную копию SQL Server 2005. Идея заключается в тихой установке SQL сервера, позволяющей простому юзеру избежать настройки и администрирования этой сложной программы. Когда это работает - это здорово, ну а когда нет - то вы приходите на эту страницу...

Когда программа установки тулсета заканчивает основную свою работу (распаковка файлов, настройка разрешений и реестра) она запускает установку SQL Server 2005 в "тихом" режиме, в котором происходит попытка установит SQL сервер с настройками по умолчанию. При этом отсутствует обратная связь. Вам будет сказано, что всё сделано, а о том, как это сделано - умолчится. Это может быть как "Бали пара ошибок, но я попытался обойти их и всё сделал", так и "Все прошло по плану". После установки SQL сервера запускается командная строка для создания и заполнения (восстановления из резервной копии) базы данных. Снова этот процесс не дает надлежащей обратной связи и просто сообщает об успешном завершении и всё, что прошло не так будет причиной ошибки подключения, когда вы запускаете тулсет.

К сожалению, нет простого способа вычислить эти проблемы и предупредить вас.

Исходя из этого мы и делаем вывод о предпочтительности ручной установки SQL сервера и базы данных, так как это позволит Вам видеть, что происходит не так и реагировать на это, а Яндекс поможет вам быстро найти в Интернете информацию о любой ошибке установки, которую вы можете получить.

Руководство по ручной установке SQL сервера и базы данных

↑ Наверх

Вопросы по правам пользователя

  • Иногда положительный результат даёт отключение UAC (User Account Control) и переустановка тулсета.
  • SQL Server требуется разрешение на чтение из каталога, в который вы положили файлы установки. Если он не имеет разрешения, он может быть не в состоянии импортировать ресурсы в базу данных. Чтобы исправить это измените привилегии для каталога, из которого вы устанавливаете тулсет.
  • На Windows Vista тулсет может требовать прав администратора для чтения базы данных. Запустите тулсет от имени администратора посредством контекстного меню.
  • On Windows XP systems, you may need to run the toolset as the Administrator by right-clicking on the toolset's shortcut, selecting the "Run as..." menu item, and then select "The following user" radio button where you can enter the password for the Administrator account. You can also run the toolset with a power user account, but you'll have to add a new database user to authenticate your user account with. An easy way is to run the Server Surface Area Configuration tool that should have been installed with the toolset and Microsoft SQL Server 2005 Express. Launch it with the Administrator account and then click the "Add New Administrator" link. For "user to provision", enter your Windows account name and grant them the SysAdmin role from the window below. For possibly more information, see the forum thread Anyone able to run the toolset as NOT administrator in XP?. If you were previously using the toolset under another account, then don't forget to check back in any outstanding resources so you can work on them from the current Windows account.

↑ Наверх

Несколько идей, которые могут вам помочь

  • Вы можете использовать SQL Server Express 2008 вместо 2005. Он больше подходит для разрешения некоторых вопросов, которые возникают в Vista и Windows 7. Многие пользователи используют SQL Server Express 2008 вместо 2005. Вы можете скачать его и установить, следуя инструкции заменив 2008 for 2005.
  • Один пользователь сообщил, что ему помогли следующие действия:
    • Удалите SQL сервер и тулсет с компьютера.
    • Удалите C:\Program Files\Microsoft SQL Server
    • В программе "Regedit", удалите следующее:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server

3. Delete the DAODB folder in your C:\Program Filesx64 folder 4. Restart the system 5. Reinstall the toolset and server from a COMPLETELY NEW download using the default settings. Existing downloads always gave me the same old messages.

  • Перезагрузите
  • Установите тулсет с SQL сервером.
  • Если у вас уже есть MS SQL Server Express, установленный как часть другой программы, тулсет не сможет получить правильную конфигурацию, чтобы использовать его. Откройте программу конфигурации тулсета (configuretoolset.exe, в том же каталоге, что и сам тулсет), затем нажмите кнопку "Далее", пока вы не увидите поле "Content Database". Это поле должно содержать: "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bw_dragonage_content;Data Source=.\BWDATOOLSET "
  • Некоторые пользователи сообщают, что программа установки не смогла создать базу данных SQL (то есть, папка "Dragon Age\toolssql\data" пуста). Вы можете ввести следующую команду, чтобы попытаться восстановить базу данных вручную (измените пути к bw_dragonage_content.bak и папке установки Dragon Age):

"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\"sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = 'C:\Program Files\Dragon Age\tools\dbbak\bw_dragonage_content.bak' WITH MOVE 'bw_dragonage_content' TO 'C:\Program Files\Dragon Age\tools\toolssql\Data\bw_dragonage_content.mdf', MOVE 'bw_dragonage_content_Log' TO 'C:\Program Files\Dragon Age\tools\toolssql\Data\bw_dragonage_content.ldf'" Не забудьте, что вы должны разрешить пользователям изменять папку "Data", прежде чем выполнять эту команду.

  • Некоторые пользователи добились успеха запуском установки из папки с более коротким путём, например "C:\DAInstall".

↑ Наверх


Язык: English  • русский