Доступ к БД без создания DSN

Доступ к БД без создания DSN

Напомним, что для получения доступа к базе данных мы предварительно создали DSN с именем PhoneDS (рис. 9.9). Однако связываться с базами данных можно и без описания DSN (DSN, Less Database Access). Для этого необходимо в качестве второго параметра метода Open объекта Recordset задать строку, в которой явно будут записаны название нужного драйвера и параметры соединения с базой. Для используемой нами базы данных DBF-формата достаточно указать каталог, в котором находятся нужные таблицы (этот параметр называется DefaultDir). Например, если таблицы расположены в каталоге Tabl на диске С:, то строка SConn с параметрами соединения имеет следующий вид:

SConn="Driver={Microsoft dBase Driver (*.dbf)};DefaultDir=C:\Tabl";

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

В листинге 9.8 приведен сценарий DSN_Less.js, в котором доступ к таблице Phone осуществляется без использования DSN (предполагается, что файл Phone.dbf находится в текущем каталоге).

Листинг 9.8. Доступ к базе Phone без использования DSN

/*******************************************************************/

/* Имя: DSN_Less.js                                                */

/* Язык: JScript                                                   */

/* Описание: Просмотр записей таблицы без использования DSN        */

/*******************************************************************/

//Объявляем переменные

var

 WshShell,    //Экземпляр объекта WshShell

 RS,          //Экземпляр объекта Recordset

 SSource,     //Строка с текстом SQL-запроса к БД

 SConnect,    //Строка с параметрами соединения с БД

 SOut,        //Строка, в которой сохраняется выходная информация

 SDefaultDir, //Путь к каталогу, в котором находится таблица Phone

 s;

//Создаем объект WshShell

WshShell = WScript.CreateObject("WScript.Shell");

//Определяем путь к текущему каталогу, в котором хранится таблица Phone

SDefaultDir=WshShell.CurrentDirectory;

//Формируем SQL-запрос к таблице Phone

SSource = "SELECT * FROM Phone";

//Формируем строку с параметрами соединения с БД

//(указываем нужный DSN)

SConnect="Driver={Microsoft dBase Driver (*.dbf)};DefaultDir="+SDefaultDir;

//Создаем объект Recordset

RS=WScript.CreateObject("ADODB.Recordset");

//Открываем набор записей-результат запроса

RS.Open(SSource,SConnect);

SOut="ВСЕ ЗАПИСИ ИЗ ТАБЛИЦЫ phone.dbf: ";

//Перебираем все записи набора данных RS

while (!RS.EOF) {

 //Формируем строку со значениями трех полей, которые разделены

 //символами табуляции

 s=RS.Fields("LastName")+" "+RS.Fields("Name")+" "+RS.Fields("Phone");

 //В конце строки ставим символ перевода строки

 s+=" ";

 //Добавляем сформированную строку к переменной SOut

 SOut+=s;

 //Переходим к следующей записи

 RS.MoveNext();

}

//Закрываем объект Recordset

RS.Close();

//Выводим на экран строку SOut

WScript.Echo(SOut);

/*************  Конец *********************************************/

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

История создания

Из книги автора

История создания В 1965 году Bell Telephone Laboratories (подразделение AT&T) совместно с General Electric Company и Массачусетсским институтом технологии (MIT) начали разрабатывать новую операционную систему, названную MULTICS (MULTiplexed Information and Computing Service). Перед участниками проекта стояла цель


Пример создания PDF-файлов

Из книги автора

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


3.7. Сценарий создания пользователей

Из книги автора

3.7. Сценарий создания пользователей В качестве завершения этой главы приведу обещанный мною сценарий добавления новых пользователей (см. листинг 3.2). Данный сценарий нужно поместить в каталог /sbin и сделать этот файл исполнимым: chmod 711 /sbin/nuЛистинг 3.2. Сценарий nu# !/bin/bash# nu (New


2.2.2 Коммуникации без создания соединений (UDP)

Из книги автора

2.2.2 Коммуникации без создания соединений (UDP) Некоторые операции обмена данными не требуют постоянного взаимодействия систем. Например, база данных на сетевом сервере может содержать таблицы имен сотрудников компании и их телефонные номера. Узнать номер телефона


Три этапа создания персонажа

Из книги автора

Три этапа создания персонажа При создании персонажа вы в первую очередь должны понять, в чем он больше всего нуждается и что представляет для него ценность. Изучите биографию персонажа, опишите ситуации, в которые он мог бы попасть. Это поможет вам определить его


Правила создания наборов

Из книги автора

Правила создания наборов Основное правило: в каждом наборе должен быть товар-локомотив с минимальной наценкой, единственная задача которого – продавать.Второе важное правило – каждый товар в наборе должен быть дешевле, чем вне его, минимум на 3 %, а продающий товар –


Сценарии создания данных

Из книги автора

Сценарии создания данных Как уже упоминалось ранее, папка Create Scripts содержит сценарии создания новых объектов базы данных, включая таблицы, представления, хранимые процедуры и ограничения. Обычно они используются для создания сценариев установки рабочей базы данных или


Цикл создания программы

Из книги автора

Цикл создания программы Независимо от используемых программных средств, процесс создания новой программы можно разбить на пять простых шагов.1. Проектирование.Здесь определяется, что должна делать программа, как она должна выглядеть на экране и взаимодействовать с


Варианты создания таблиц

Из книги автора

Варианты создания таблиц Формирование таблицы начинается с того, что вы открываете окно базы данных и в нем выбираете пункт Таблицы в разделе Объекты – рис. 3.1. Рис. 3.1Дальше следует щелкнуть по кнопке на панели окна БД. В диалоговом окне Новая таблица, показанном на рис.


14.2.1. История создания DVD

Из книги автора

14.2.1. История создания DVD Нужно отметить, что технология DVD развивалась значительно быстрее, чем в свое время технология CD. Объяснить это можно тем, что компакт-диск тогда был чем-то новым и, возможно, ему не так доверяли, как другим проверенным носителям данных (дискетам и


Инструкция создания

Из книги автора

Инструкция создания Рассмотрим создание экземпляра класса BOOK3. Это возможно только с помощью подпрограммы класса, являющегося клиентом BOOK3, как, например:class QUOTATION featuresource: BOOK3page: INTEGERmake_book is-- Создание объекта BOOK3 и присоединение его к source.do... См. ниже ...endendЭтот класс


Процедуры создания

Из книги автора

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


Процедуры создания и перегрузка

Из книги автора

Процедуры создания и перегрузка В продолжение обсуждения полезно сравнить применяемый подход с несколькими процедурами создания с подходом, используемым в языках C++/Java. В этих языках применяется техника, основанная на перегрузке. Суть ее такова: все процедуры создания,


У9.1 Модели создания объектов

Из книги автора

У9.1 Модели создания объектов При обсуждении автоматического управления памятью рассмотрен подход, основанный на создании внутренних списков свободной памяти. В этом случае память, занимаемая утилизированными объектами, не возвращается операционной системе, а остается


Роль процедур создания

Из книги автора

Роль процедур создания Инвариант класса задает множество свойств объектов (экземпляров класса), которые должны выполняться в стабильные времена жизни объектов. В частности, эти свойства должны выполняться сразу после создания экземпляра объекта.Стандартный механизм