Руководство пользователя Отмена

Устранение неполадок подключений к базам данных

 

 

Устранение проблем с разрешениями, сообщения об ошибках в продуктах Майкрософт и MySQL в Dreamweaver.

Примечание.

Пользовательский интерфейс в Dreamweaver и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver и более поздних версиях. Дополнительные сведения см. в этой статье.

Устранение проблем с разрешениями

Одной из наиболее частых проблем являются недостаточные разрешения для папок или файлов. Если база данных расположена на компьютере под управлением Windows 2000 или Windows XP и при попытке просмотра динамической страницы в веб-браузере или интерактивном представлении появляется сообщение об ошибке, то возможной причиной может быть проблема с разрешениями.

Учетная запись Windows, с помощью которой пользователь пытается войти в базу данных, не имеет достаточных прав. Эта учетная запись может быть либо анонимной учетной записью Windows (по умолчанию это IUSR_имя_компьютера), либо учетной записью пользователя, если для доступа к странице требуется проверка подлинности.

Чтобы открыть веб-серверу доступ к файлу базы данных, понадобится предоставить учетной записи «IUSR_имя_компьютера» правильные разрешения. Кроме того, чтобы разрешить запись в базу данных, также нужно настроить определенные разрешения для папки, содержащей эту базу данных.

Если предполагается анонимный доступ к странице, предоставьте учетной записи «IUSR_имя_компьютера» полный доступ к этой папке и файлу базы данных, как описано ниже.

Помимо этого, если путь к базе данных указан в формате UNC (\\Сервер\Папка), убедитесь, что в разрешениях для общего ресурса учетной записи «IUSR_имя_компьютера» предоставлен полный доступ. Этот шаг нужно выполнить даже в том случае, если общий ресурс расположен на локальном веб-сервере.

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

Проверка или изменение разрешений для файла базы данных (в Windows XP)

  1. Для изменения разрешений необходимо иметь права администратора на соответствующем компьютере.
  2. Откройте проводник Windows, перейдите к файлу базы данных или папке, содержащей эту базу данных, щелкните правой кнопкой мыши файл или папку и выберите пункт «Свойства».
  3. Перейдите на вкладку «Безопасность».
    Примечание.

    Этот шаг применим только в том случае, если используется файловая система NTFS. На компьютерах с файловой системой FAT в этом диалоговом окне вкладки «Безопасность» нет.

  4. Если учетной записи «IUSR_имя_компьютера» нет в списке «Группы или пользователи», нажмите кнопку «Добавить» и добавьте ее.
  5. В диалоговом окне «Выбор пользователей или групп» нажмите кнопку «Дополнительно».

    В диалоговом окне отобразятся дополнительные параметры.

  6. Щелкните «Размещение» и выберите имя компьютера.
  7. Нажмите кнопку «Поиск», чтобы отобразить список учетных записей, связанных с компьютером.
  8. Выберите учетную запись «IUSR_имя_компьютера» и нажмите кнопку «ОК»; затем нажмите «ОК» еще раз, чтобы очистить это диалоговое окно.
  9. Чтобы предоставить учетной записи IUSR неограниченные права доступа, выберите «Полный доступ» и нажмите кнопку «ОК».

Проверка или изменение разрешений для файла базы данных (в Windows 2000)

  1. Для изменения разрешений необходимо иметь права администратора на соответствующем компьютере.
  2. Откройте проводник Windows, перейдите к файлу базы данных или папке, содержащей эту базу данных, щелкните правой кнопкой мыши файл или папку и выберите пункт «Свойства».
  3. Перейдите на вкладку «Безопасность».
    Примечание.

    Этот шаг применим только в том случае, если используется файловая система NTFS. На компьютерах с файловой системой FAT в этом диалоговом окне вкладки «Безопасность» нет.

  4. Если учетной записи «IUSR_имя_компьютера» нет в списке учетных записей Windows в диалоговом окне «Разрешения для файлов», нажмите кнопку «Добавить» и добавьте ее.
  5. В диалоговом окне «Выбор пользователей, компьютеров или групп» выберите в меню «Папка» имя компьютера, чтобы отобразить список учетных записей, связанных с компьютером.
  6. Выберите учетную запись «IUSR_имя_компьютера» и нажмите кнопку «Добавить».
  7. Чтобы предоставить учетной записи IUSR все разрешения, в меню «Тип доступа» выберите «Полный доступ» и нажмите кнопку «ОК».

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

    Дополнительные сведения о разрешениях для учетной записи IUSR и веб-сервера см. в следующих статьях раздела TechNote на веб-сайте центра поддержки Adobe.

Устранение неполадок, связанных с сообщениями об ошибках в продуктах Майкрософт

Подобные сообщения об ошибках могут появляться во время запроса динамической страницы с сервера, если сервер IIS (Internet Information Server) используется с базой данных, разработанной корпорацией Майкрософт, например Access или SQL Server.

Примечание.

Корпорация Adobe не предоставляет техническую поддержку для программных продуктов сторонних разработчиков, например для Microsoft Windows и сервера IIS. Если приведенная в данной главе информация не помогла устранить проблему, обратитесь в службу технической поддержки Майкрософт или посетите веб-сайт технической поддержки Майкрософт по адресу: http://support.microsoft.com/.

Дополнительные сведения об ошибках 80004005 см. в статье «Руководство по устранению неполадок в случае появления ошибки 80004005 при работе со страницами ASP и компонентами Microsoft для доступа к данным (Q306518)» на веб-сайте корпорации Майкрософт по адресу: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q306518.

[[Ссылка]80004005 — Источник данных не найден и не указан драйвер, используемый по умолчанию]

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

  • 80004005 — Ошибка SQLSetConnectAttr драйвера

  • 80004005 — Общий сбой. Не удается открыть раздел реестра «DriverId»

    Далее перечислены возможные причины и способы решения.

  • Странице не удается найти имя DSN. Убедитесь, что DSN было создано и на веб-сервере, и на локальном компьютере.

  • Возможно, имя DSN задано как DSN пользователя, а не DSN системы. Удалите DSN пользователя и создайте вместо него DSN системы.

Примечание.

Если этого не сделать, дублирующиеся имена DSN вызовут новую ошибку ODBC.

Если используется приложение Microsoft Access, файл базы данных (MDB-файл) может быть заблокирован. Причина блокирования может заключаться в том, что DSN с другим именем уже использует базу данных. Откройте проводник Windows, в папке, в которой расположен файл базы данных (MDB-файл), найдите файл блокировки (LDB-файл) и удалите его. Если другое имя DSN указывает на один и тот же файл базы данных, удалите это имя, чтобы избежать ошибок в дальнейшем. Перезагрузите компьютер после внесения изменений.

[[Ссылка]80004005 — Не удается использовать «(нет данных)»; файл уже используется]

Эта ошибка возникает при использовании базы данных Microsoft Access и попытке просмотра динамической страницы в веб-браузере или интерактивном представлении. Еще один вариант текста этого сообщения об ошибке: «80004005 — Обработчик баз данных Microsoft Jet не может открыть файл (нет данных)».

Возможная причина — неправильно установлены разрешения. Далее перечислены несколько конкретных причин и способов решения.

  • Возможно, учетная запись, используемая сервером IIS (как правило, это учетная запись IUSR), не имеет нужных разрешений Windows для доступа к файловой базе данных или папке, содержащей эту базу данных. Проверьте разрешения учетной записи IIS (IUSR) в диспетчере пользователей.

  • Пользователь может не иметь разрешения на создание или удаление временных файлов. Проверьте разрешения для файла и папки. Убедитесь в наличии разрешения на создание или удаление временных файлов. Временные файлы обычно создаются в той же папке, в которой содержится база данных, но они также могут создаваться и в других папках, например «/Winnt».

  • В Windows 2000 может потребоваться изменить значение времени ожидания для DSN базы данных Access. Чтобы изменить это значение, выберите команды «Пуск» > «Настройка» > «Панель управления» > «Администрирование» > «Источники данных» (ODBC). Откройте вкладку «Система», выделите правильное имя DSN и нажмите кнопку «Настройка». Нажмите кнопку «Параметры» и в поле «Время ожидания страницы» введите значение 5000.

    Если проблемы так и не удалось решить, см. следующие статьи базы знаний Майкрософт:

  • Статья: 80004005 — «Невозможно использовать '(неизвестно)'; файл уже используется» по адресу: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q174943.

  • Статья: «Сбой подключения к базам данных Microsoft Access в ASP» по адресу: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q253604.

  • Статья: «Ошибка "не удается открыть неизвестный файл" при использовании Access» по адресу: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q166029.

[[Ссылка]80004005 — Сбой при входе в систему()]

Эта ошибка возникает при использовании сервера Microsoft SQL Server и попытке просмотра динамической страницы в веб-браузере или интерактивном представлении.

Эта ошибка создается сервером SQL Server, если он не принимает либо не распознает учетную запись или введенный пароль (если используется стандартная защита), или же если учетная запись Windows не соответствует учетной записи SQL (если используется встроенная система безопасности).

Далее перечислены возможные решения.

  • Если используется стандартная защита, причиной ошибки может быть неправильные имя учетной записи и пароль. Попробуйте воспользоваться учетной записью и паролем системного администратора (UID= «sa» без пароля), которые должны были быть определены в строке подключения. (Имена DSN не хранят имена и пароли пользователей.)

  • Если используется встроенная система безопасности, проверьте учетную запись Windows, обращающуюся к странице, и найдите соответствующую ей учетную запись SQL (при наличии).

  • Сервер SQL Server не допускает использование нижних подчеркиваний в именах учетных записей SQL. Если вручную сопоставить учетную запись Windows «IUSR_имя_компьютера» учетной записи SQL с таким же именем, эта учетная запись не будет принята сервером. Учетную запись, в которой использовано нижнее подчеркивание, нужно сопоставлять с именем учетной записи на сервере SQL, в котором нижнее подчеркивание не используется.

[[Ссылка]80004005 — В операции должен использоваться обновляемый запрос]

Данная ошибка возникает, когда событие обновляет набор записей или вставляет в него данные.

Далее перечислены возможные причины и способы решения.

  • Разрешения для доступа к папке, содержащей базу данных, слишком ограничены. Учетная запись IUSR должна обладать правами на чтение/запись.

  • Разрешения для самого файла базы данных не включают действующих полных прав на чтение/запись.

  • Возможно, база данных не расположена в каталоге Inetpub/wwwroot. Для обновления базы данных требуется, чтобы она располагалась в каталоге wwwroot. В противном случае будут доступны только просмотр и поиск данных, но не их обновление.

  • Набор записей основан на необновляемом запросе. Хорошими примерами необновляемых запросов в базе данных являются соединения. Преобразуйте необновляемые запросы в обновляемые.

    Дополнительные сведения об этой ошибке см. в статье базы знаний Майкрософт «Ошибка ASP "запрос не является обновляемым" при обновлении записи в таблице» по адресу: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q174640.

[[Ссылка]80040e07 — Несоответствие типов данных в выражении условия отбора]

Данная ошибка возникает при попытке сервера обработать страницу, содержащую серверное поведение «Вставить запись» или «Обновить запись», которое пытается задать пустую строку («») в качестве значения для столбца «Дата/время» в базе данных Microsoft Access.

Microsoft Access имеет строгую типизацию данных, которая устанавливает четкий набор правил для соответствующих значений столбцов. Пустая строка в запросе SQL не может храниться в столбце «Дата/время» базы данных Access. Единственный известный на текущий момент способ избежать возникновения данной ошибки — это не вставлять и не обновлять столбцы «Дата/время» в Access пустыми строками («») или любыми другими значениями, которые не соответствуют диапазону значений, заданному для этого типа данных.

[[Ссылка] 80040e10 «Слишком мало параметров»]

Данная ошибка возникает в том случае, если столбец, указанный в запросе SQL, отсутствует в таблице базы данных. Проверьте имена столбцов в таблице базы данных на соответствие столбцам, указанным в запросе SQL. Зачастую причиной этой ошибки является опечатка.

[[Ссылка]80040e10 — Неверное поле COUNT]

Данная ошибка возникает при просмотре страницы, содержащей серверное поведение «Вставить запись», в веб-браузере и попытке с ее помощью вставить запись в базу данных Microsoft Access.

Данная ошибка может возникать при попытке вставить запись в поле базы данных, в имени которого содержится вопросительный знак (?). Для некоторых обработчиков баз данных, включая Microsoft Access, вопросительный знак является специальным символом, поэтому его нельзя использовать в именах таблиц баз данных и в именах полей.

Откройте систему базы данных и удалите вопросительный знак (?). из имен полей, а затем обновите на странице варианты поведения сервера, которые ссылаются на это поле.

[[Ссылка]80040e14 — Ошибка синтаксиса в инструкции INSERT INTO]

Данная ошибка возникает при попытке сервера обработать страницу, содержащую серверное поведение «Вставить запись».

Как правило, эта ошибка появляется вследствие одной или нескольких описанных ниже проблем с именами полей, объектов или переменных в базе данных.

  • В качестве имени использовано зарезервированное слово. Большинство баз данных имеют набор зарезервированных слов. Например, слово «date» является зарезервированным и, следовательно, не может быть использовано в именах столбцов базы данных.

  • В имени использованы специальные символы. Вот несколько примеров специальных символов:

    . / * : ! # & - ?

  • Имя содержит пробел.

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

    Чтобы решить проблему, не используйте в именах столбцов базы данных зарезервированные слова, например «date», «name», «select», «select» и «level». Помимо этого, исключите пробелы и специальные символы.

    Списки зарезервированных слов для наиболее распространенных систем баз данных см. на следующих веб-страницах.

  • Microsoft Access: http://support.microsoft.com/default.aspx?scid=kb;ru-ru;Q209187

  • MySQL: http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Ссылка]80040e21 — Ошибка ODBC при вставке или обновлении]

Данная ошибка возникает при попытке сервера обработать страницу, содержащую серверное поведение «Обновить запись» или «Вставить запись». Базе данных не удается обработать операцию обновления или вставки, которую пытается выполнить серверное поведение.

Далее перечислены возможные причины и способы решения.

  • Серверное поведение пытается обновить поле автонумерации в таблице базы данных или вставить запись в это поле. Так как поля автонумерации заполняются автоматически самой системой базы данных, внешние попытки заполнить эти поля значениями приводят к ошибкам.

  • Серверное поведение обновляет или вставляет данные неправильного типа в поле базы данных. Например, дата вставляется в логическое поле, требующее значение «да» или «нет», строка вставляется в числовое поле, а неправильно отформатированная строка — в поле «Дата/время».

[[Ссылка]800a0bcd — Функция BOF или EOF возвращает значение True]

Эта ошибка возникает при попытке просмотра динамической страницы в веб-браузере или интерактивном представлении.

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

  1. Выделите динамическое содержимое на странице.

  2. На панели «Поведение сервера» нажмите кнопку со знаком «Плюс» (+) и выберите пункты «Показать область» > «Показать область, если набор записей не пустой».

  3. Выберите набор записей, из которого берется динамическое содержимое, и нажмите кнопку «ОК».

  4. Повторите шаги 1–3 для каждого элемента динамического содержимого на странице.

Устранение неполадок, связанных с сообщениями об ошибках MySQL

Одним из распространенных сообщений об ошибке, которое может появиться во время тестирования подключения базы данных PHP к MySQL 4.1 является «Клиент не поддерживает запрашиваемый протокол аутентификации. Обновите клиент MySQL.»

Может понадобиться вернуться к более ранней версии MySQL или установить PHP 5 и скопировать некоторые динамически связываемые библиотеки (DLL). Подробные инструкции см. в разделе Настройка среды разработки PHP.

Получайте помощь быстрее и проще

Новый пользователь?