|
Программирование >> Руководство по созданию web приложений
Связь приложений с базами данных через ODBC Последний метод доступа, о мы расскажем в нашей книге, это Microsoft Database Интерфейс ODBC представляет собой набор для доступа к базам данных функций программного интерфейса. Этот набор предполагает использование языка запро- сов SQL. Для того чтобы интерфейс ODBC стал доступен программам, необходимо установить драйвер ODBC. Такой драйвер имеется в составе Microsoft SQL Server, а также в составе многих других СУБД, рассчитанных на работу в среде операционных систем Microsoft Windows, Macintosli и некоторых версий Unix. При создании приложений с базами данных для Интернета интерфейс ODBC пригодится Вам для связи расширений сервера Web (таких, как программы CGI и ISAPI) с базами данных. При этом вызов функций ODBC будет как непосредственно из программ расширений, так и через дочерние . запускаемые расширениями для обращения к базам данных (это иногда требуется для устойчивости сервера Web к программным ошибкам, при обращении к базе данных). , что в отличие от ADO, интерфейс ODBC не является объектным. Поэтому он недоступен из сценариев JScript и \ В Script, расположен- ных в страницах ASP. В нашей книге мы не будем описывать все возможности ODBC - речь пойдет только о самых необходимых. Мы, в частности, расскажем о том, как посредством этого интерфейса могут выполнять предложения языка SQL и запускать хранимые процедуры с входными и выходными параметрами. Именно эти операции чаще всего нужны при создании реальных приложений. Программный интерфейс ODBC в этом разделе речь пойдет о (ишычсанн и параметрах псшчячыа функций программного : ODBC. Помимо этих функций, обеспечивающих прямой доступ к ODBC, корпорация Microsoft разработала ряд программных интерфейсов и классов, предназначенных для обращения к ODBC. Это такие интерфейсы, как1Ш0 и а также классы MFC и DM). Структура ODBC Программа, к базам данных посредством ODBC, обычно выполняет следующие действия: ф инициализирует среду иг-.т-Ачнения; 4 к источникуданных; 0 создает и результат выполнения команды; 1 освобождает ресурсы, полученные для работы с ODBC. Если команда предназначена для выполнения хранимой процедуры, приложение должно : . 1)11ья 4\ входных и выходных параметров этой процедуры (а также при необходимости и кода заверщения процедуры) к локальным переменным, определенным внутри тела Обработка результата также связана с привязкой к локальным пере- менным. Вы уже с этой процедурой из предыдущей главы, посвящен- ной интерфейсу OLE Хотя приложения ODBC выполняют эту по-другому, смысл ее не меняется - устанавливается между ло- кальными переменными и полями набора записей, полученных при выполнении i;mian;ibi SQL. Нетрудно заметить, что мы говорили о тех же самых действиях, что применяются для работы с базами данных, но выполняемых посредством методов доступа ADO и OLE DB. Действительно, набор действий остается тем же самым. Меняется только способ их реализации. Рассмотрим назначение функций ODBC, вызываемых на различных этапах работы приложения ODBC. Инициализация Для выполнения инициализации среды выполнения ODBC исполь- такие как SQLAllocHandle и Первая из них отвеча- ет за собственно а вторая позволяет параметры среды исполнения. Вот функции SQLAllocHandle: SOL - - . .fSOLSmL. - liTyp, - - - . SQLHANDLE* Интерфейсы и -- - образом для создания приложений Visual а классы MFC и DAO для создания приложений на основе Microsoft Visual С++, к тому же имеющих интерактивный пользователя. При разработке приложений Интернета для интерактивной части проекта обычно применяется технология ASP, серверные сценарии и ADO, о чем мы подробно рассказывали в первых главах нащей ,11111 л. Что расщи- рений сервера Web, то они не никакого непосредственного интерфейса Поэтому классы MFC и ориентированные на автоматизи- рованное создание диалоговых приложений средствами Microsoft Visual С++, не окажут Вам заметной Именно мы расскажем Вам только о ODBC. В качестве аегинлу параметра п функции .а - тип идентификатора. Это может быть идентификатор , иденти- фикатор соединения с источником данных идентификатор стро- ки ... или дескриптора : : параметр 1 в каком контексте нужно получить идентификатор, Здесь могут быть указаны константы :; :Г - .>Ql. .HANO- LE ENV или SQLjAW LE t>BC, И наконец, третий параметр адрес в которую ни; сывается идентификатор, полученный функцией SQLAllocHandle. При успешном завершении функция SQLAUoc Handle возвращает значения S0L SIJCCES8 или 81. - Первая . .этих констант г : если операция завершилась успешно. Вторая также успеш- ное завершение и, кроме сообщает В том случае, если функция SQLAllocnandle завершилась с ошибкой, возвращается значение £ . . или Перечисленные выше константы возвращаются многими функциями программного интерфейса ODBC. Немного позже мы расскажем о программы . ошибочные ситуации, извлекая коды ошибок и тексты сообщений об ошибках. Перед - своей работы при.Н1А4!!Illдолжно освободить идентифи- каторы, полученные при вызове функции SQLAllocnandle. Для этого предназначена функция . : ; : Она два параметра: SQLBE;TijRP SQLFreeHandle : : liType, SQLHANDLE PHandle); ЧepeзпepвыйпapaмeтpфyнкцииSQLFreeПandleпepeдaeтcятипидeнтификa-Topa (такой же, как и SQLAllocnandle), ачерез второй - освобождае- мый идентификатор. Инициализация среды выполнения Рассмотрим : itiir кода приложения, выполняющий инициализацию среды для запроса к базе данных. Прежде всего должна получить идентификатор среды типа SQL HANDLE ENV: SQL;-- -- V; RETCoDI; ГС = P.E.,tNV, SQL NULL HANDLE, Он записывается в переменную nEnv, Па следующем этапе нам нужно установить атрибуты в частности указать номер версии ODBC, равный 3. В результате приложение сможет воспользоваться особенностями этой версии драйвера. Так, драйвер ODBC будет работать с . кодами даты и времени . SQL T . . SQLTY- р :а - Т1Р : также - возвращать коды SQESTATE при ошибок. Атрибуты среды . cпoмoщьюфyнкцииSQLSetEnvAttr,име- ющей четыре параметра:
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |