Практика разработки Web-страниц

         

Страница результатов базы данных выдает ошибку


При включении результатов из базы данных на страницу с помощью Database Results Wizard, FrontPage пишет для вас Active Server Pages (ASP) сценарий. Для того чтобы сценарий отображал данные в броузере, должен согласованно работать ряд компонентов программного обеспечения: веб-сервер запускает ASP сценарий, Open Database Connectivity (ODBC) связывается с базой данных и запрос SQL отправляется. Создавая свои собственные запросы и строки соединения, вы скорее всего столкнетесь с проблемами.


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

Когда появляется сообщение об ошибке, оно не объясняет того, что находится "за сценой". Чтобы диагностировать и решить проблему, сделайте следующее.

  1. Если связь FrontPage с базой данных не работает, вы получите следующее сообщение: "The database connection named "Contacts" is undefined". Оно может говорить о нескольких проблемах, для решения большинства из которых необходимо обновить связь с базой данных. Откройте свои страницы на сервере (или свою локальную копию сайта, если она у вас есть). В меню Tools нажмите Web Settings и выберите вкладку Database. Нажмите Modify, нажмите OK, а затем нажмите Verify.


    Если установки вашего сервера не позволяют использовать сценарии или не позволяют FrontPage изменять установки ASP, обновление связи не решит проблемы. Убедитесь, что ваш веб-сервер поддерживает ASP, или свяжитесь с администратором своей сети или ISP.

    Вы можете изменить форматирование области данных базы данных с помощью инструментов FrontPage. Однако если вы потом внесете изменения в свойства области данных с помощью мастера Database Results Wizard, ваше форматирование потеряется. Чтобы не сталкиваться с этой проблемой, создайте стили для своей страницы и примените их к элементам области данных. Таким образом, вы не потеряете информацию о стилях, когда FrontPage обновит область данных.

  2. Если FrontPage выдает сообщение об ошибке при проверке соединения, нажмите Details, чтобы прочитать сообщения, полученные от драйвера ODBC. Возможно, что-то не так с конфигурацией вашего ODBC, информацией о соединении или самой базой данных. За идеями по решению этих проблем обратитесь к разделу "Не удается создать соединение с базой данных во FrontPage".



  3. Если FrontPage может создать соединение, но не может запустить запрос, вы увидите ошибку в области данных на вашей странице. Например, если файл вашей базы данных был перемещен, удален, или его нет в сети, вы увидите следующее сообщение: "Database Results Error. [Microsoft][ODBC Microsoft Access Driver] "(unknown)" is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides".

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



  4. Если вы указали критерий для запроса в Database Results Wizard, вы можете увидеть ошибку базы данных со следующим сообщением: "One or more form fields were empty. You should provide default values for all form fields that are used in the query".

    Для решения проблемы установите значения по умолчанию для всех полей, по которым происходит отбор. Дважды щелкните мышью на области результатов базы данных, нажмите Next, нажмите Next снова, нажмите More Options, нажмите Defaults, а затем нажимайте на каждой строке в списке и вводите значения по умолчанию.





  5. Если вы ввели обычный SQL запрос с помощью Database Results Wizard, ваш запрос может быть написан неверно. Чтобы проверить свой запрос, щелкните дважды на области базы данных, нажмите Next, нажмите Custom Query и нажмите Edit. Обновите запрос, если это необходимо, и протестируйте его. Если возможно, протестируйте свой запрос вне FrontPage – например, в Microsoft Access. Если вы используете параметры в своем запросе – значения, приходящие в запрос из полей формы – убедитесь, что их типы данных совпадают с типами данных полей. И если поле базы данных содержит текст, включите параметр запроса в одинарные кавычки:

    SELECT *FROM Contacts WHERE (LastName = '::LastName::')




Содержание раздела