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

         

Строка связи не подключается к базе данных


Когда вы используете код для связи с базой данных Open Database Connectivity (ODBC), вы пишете строку связи, которая говорит драйверу базы данных, как найти и открыть вашу базу данных. Например, чтобы открыть базу данных с помощью сценария Active Server Pages (ASP), вы можете использовать строку соединения, подобную приведенной ниже, используя метод Open объекта Connection.

Provider=Microsoft.Jet.OLEDB.4.0; Data Sourse=C:\data\moe.mdb

Если строка связи написана неверно или не полностью, вы получите ошибку из драйвера базы данных при попытке посмотреть страницу. Есть разные варианты написания строки соединения. Например, можно заранее определить источник данных ODBC (создать с помощью инструментов в системе веб-сервера), использовать драйвер ODBC без источника данных или обойти ODBC, чтобы связаться сразу с провайдером базы данных.

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

  1. Просмотрев страницу, убедитесь, что проблема действительно в строке соединения. Если строка соединения написана неверно, вы получите ошибку, когда сервер попытается ее выполнить, например: "Microsoft OLE DB Provider for ODBC Drivers error "80004005" [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. /ts/connect.asp, line 33".
  2. Проверьте информацию, которую вы указали в связи. Свойства соединения (драйвер и имя провайдера) должны быть написаны правильно. Если вы сделаете ошибку в написании слова или включите свойство, которого нет, они проигнорируются.
  3. Если вы устанавливаете связь через драйвер ODBC, проще всего будет использовать системный источник данных на вашем веб-сервере, обращающийся к имени источника данных (DSN):

    DSN=moedata.

    Для SQL-сервера вам, возможно, понадобится определить некоторые параметры, например, имя пользователя, пароль и базу данных:

    DSN=moedata; UID=curly; PWD=password; DB=contacts

  4. Если на вашем сервере нет системного источника данных ODBC и вы не имеете доступа к серверу, вы можете установить связь без использования источника данных. Приведенная ниже строка соединения показывает, как связаться с SQL-сервером с названием moe:




    DRIVER={SQL Server}; SERVER=moe; UID=curly; PWD=password;

    С драйвером Microsoft Access используйте свойство DBQ, чтобы выделить файл базы данных:

    DRIVER={Microsoft Access Driver (*. mdb)}; DBQ=C:\data\moe.mdb.

    Для драйвера текстового файла или других драйверов, где каждая таблица является отдельным файлом, вы определяете папку со свойством DBQ:

    Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=C:\moetext



  5. Серверы Microsoft с новыми программами доступа к данным (Data Access Component 2.5 или более поздних версий) предлагают более быстрый способ соединения с базой данных с помощью интерфейса OLE DB. Установить связь с базой данных SQL можно следующим образом:

    Provider=SQLOLEDB; Server=moe; User ID=curly; Password=password; Database=contacts

    Для базы данных Access имя файла можно указать с помощью свойства DataSource:

    Provider=Microsoft.Jet.OLEDB.4.0; Data Sourse=C:\data\moe.mdb

    Если ваша база данных Access защищена паролем, вам придется определить дополнительные свойства, вроде Jet OLEDB:Database Password или Jet OLEDB:System Database:

    Provider=Microsoft.Jet.OLEDB.4.0; Data Sourse=C:\data\moe.mdb; Jet OLEDB:System Database=C:\data\system.mdw; User ID=curly; Password=password

  6. Если вы все еще не установили связь, посмотрите документацию к драйверам вашей базы данных.



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