Сайт о телевидении

Сайт о телевидении

» » Источники данных ODBC. ODBC Data Source Administrator (Источники данных (ODBC))

Источники данных ODBC. ODBC Data Source Administrator (Источники данных (ODBC))

Тема нашего сегодняшнего разговора - ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open DataBase Connectivity (вольный перевод - открытая система связи с базами данных). Open (открытая) в данном случае означает "расширяемая", "легко наращиваемая", "открытая для модификаций". Вы сами это поймете, если посмотрите на архитектуру построения ODBC:

Как легко заметить, она действительно легко наращиваемая. Для добавления нового типа БД нужно лишь написать драйвер и зарегистрировать его. Еще одно преимущество, вытекающее из такого построения ODBC - пользовательское приложение общается с физической БД через менеджер драйверов, фактически ничего не зная о типе используемой БД (общение менеджера драйверов и самих драйверов более менее стандартно, так что с точки зрения пользователя все источники данных обладают практически одинаковыми свойствами). Таким образом, вы легко можете поменять физический тип базы данных, а приложение даже не узнает об этом (конечно, существуют исключения из-за особенностей поддержки языка SQL различными типами БД, но они несущественны).

Физически ODBC представляет собой набор динамических библиотек DLL, которые обслуживают подключение и работу с конкретным типом базы данных.При запросе на подключение к определенной, заранее описанной базе "активизируется" определенная DLL - драйвер этого типа БД. Обращение к определенной базе данных происходит по имени так называемого источника данных ODBC (или DSN - data source name). Можно представить DSN как своего рода объявление БД на данном компьютере, причем DSN может быть пользовательским, т.е. находится в области видимости только одного польователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

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

Windows 9х - сам исполняемый файл odbcad32.exe лежит в каталоге Windows\System. Запускать его можно напрямую либо через Панель управления (значок "Источники данных ODBC (32-бит)"). Если на компьютере установлен BDE, запустите администратор BDE и из меню Object выберите пункт ODBC Administrator.

Windows 2000 - исполняемый файл odbcad32.exe лежит в каталоге WinNT\System32, а запускать его можно через Панель управления -> Администрирование -> Источники данных ODBC. К сожалению, у меня нет возможности проверить, как с ODBC в NT3.51 / 4 - не думаю, что там ребята из Microsoft сильно его спрятали.

Почему ODBC?

Ведь есть же BDE, скажете вы. Да, возможно вы правы. Однако здесь есть "но". У обоих движков есть свои преимущества и недостатки. ODBC намного лучше работает с "родными, от Microsoft" источниками данных продуктов Microsoft Office - типа Access, Excel, MS SQL Server (вообще-то из-за Access я и затеял всю эту писанину). Кроме того, в стандартный дистрибутив BDE, который можно на каждом шагу найти в Интернете, я что-то ни разу не встречал SQL Links, впрочем, как я ни разу не встречал и отдельного дистрибутива SQL Links. А именно после установки SQL Links в BDE появлется возможность создавать алиасы к Access, MS SQL Server, Oracle и др. типам баз данных. Устанавливать же полную версию C++Builder или Delphi на компьютер пользователя может не каждый. А ODBC на "голой" машине уже содержит драйверы Access, Excel, FoxPro и SQL Server. В общем, для общего развития не помешает освоить и ODBC, тем более что access"овские базы, с которыми мы будем работать через ODBC, очень надежны (не в пример стандартным BDE"шным paradox"овым, у которых то и дело сыпятся индексы, а про такое поле как счетчик я вообще молчу), практически на любом компьютере пользователя установлен Office, что позволяет вносить коррективы "на месте", да и удобство всей базы в одном файле тоже иногда сказывается.

Фнукции, с которыми нам придется работать

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

1. Функция SQLDataSources возвращает список всех источников данных ODBC.

RETCODE SQLDataSources(HENV hEnv, UWORD fDirection, UCHAR * szDSN, SWORD cbDSNMax, SWORD *pcbDSN, UCHAR * szDescription, SWORD cbDescriptionMax, SWORD * pcbDescription);

  • hEnv - хэндл, возвращаемый функцией SQLAllocEnv();
  • fDirection - задает режим работы. Может принимать значения SQL_FETCH_FIRST - вернуть первую запись и SQL_FETCH_NEXT - вернуть следующую запись. Логика работы аналогична функциям FindFirst и FindNext (помните DOS?);
  • szDSN - указатель на буфер длиной не менее cbDSNMax, куда будет записано имя источника данных;
  • cbDSNMax - длина буфера szDSN;
  • pcbDSN - указатель на целое, куда записывается реальная длина (не включая завершающий \0) принятого имени источника данных;
  • szDescription - указатель на буфер длиной как минимум 255 символов, куда запистывается описание принятого источника данных;
  • cbDescriptionMax - длина буфера szDescription;
  • pcbDescripton - указатель на целое, куда записывается реальная длина описания источника данных.

2. Функция SQLConfigDataSources добавляет, изменяет или удаляет указанный источник данных.

BOOL SQLConfigDataSources(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes)

  • hwndParent - хэндл родительского окна. Если не равен NULL, отображается стандартный для данного типа источника данных диалог настройки.
  • fRequest - тип запрашиваемой операции. Может принимать следующие значения:
    • ODBC_ADD_DSN (ODBC_ADD_SYS_DSN) - запрос на создание нового пользовательского (системного) источника данных;
    • ODBC_CONFIG_DSN (ODBC_CONFIG_SYS_DSN) - запрос на изменение существующего пользовательского (системного) источника данных;
    • ODBC_REMOVE_DSN (ODBC_REMOVE_SYS_DSN) - удаление пользовательского (системного) источника данных.
  • lpszDriver - указатель на строку, содержащую имя драйвера, ассоциированного с конкретным типом БД;
  • lpszAttributes - указатель на строку атрибутов в форме ключевое слово - значение. Каждая такая пара должна заканчиваться символом \0, в конце строки атрибутов должен стоять двойной символ \0.

Приведем несколько примеров строки атрибутов, чтобы вам было понятно, что это такое:

"DSN=MySource\0UID=MyLogin\0PWD=MyPass" - источник данных с именем MySource, логин - MyLogin, пароль - MyPass

Каждый драйвер "понимает" свои ключевые слова, чаще всего применяются:

PWD - пароль UID - логин DSN - имя источника данных DATABASE - имя базы данных SERVER - имя сервера, на котором находится база данных

Для баз данных Microsoft Access для указания имени БД вместо DATABASE используется ключевое слово DBQ.

3. Функция SQLAllocEnv создает новый хэндл для использования в других функциях и инициализирует интерфейс для работы с ODBC

RETCODE SQLAlocEnv(HENV * hEnv)

hEnv - указатель на переменную, которая будет хранить созданный хэндл в случае удачного выполнения функции

4. Функция SQLFreeEnv удаляет заданный хэндл и освобождает всю память, ассоциированную с ним.

RETCODE SQLFreeEnv(HENV hEnv)

  • hEnv - хэндл, который нужно удалить

Исходный код

Сначала несколько замечаний. В C++Builder есть заголовочные файлы для работы с ODBC. Нам нужно два из них - odbcinst.h и sql.h. Добавьте строки

#include #include

в начало вашего файла. Реализация функций, описанных в этих файлах, находится в нескольких DLL, лежащих в каталоге Windows\System (или WinNT\System32). В наших примерах будут использоваться две такие DLL, а именно odbc32.dll и odbccp32.dll. Чтобы подключить их к проекту, нужно проделать следующие шаги:

1. Запускаем любой досовский файл-менеджер или командную строку Windows и переходим в каталог Windows\System (WinNT\System32) и находим эти две библиотеки.

2. Если каталог BIN С++Builder"а прописан в переменной окружения PATH, просто набираем

C:\windows\system\> implib odbc32.lib odbc32.dll

иначе набираем полностью путь к файлу implib.exe, либо копируем его в каталог, прописанный в PATH.

3. То же самое проделываем с odbccp32.dll:

C:\windows\system\> implib odbccp32.lib odbccp32.dll

4 . Полученные.lib - файлы копируем в каталог с проектом

5 . Из меню Project выбираем пункт Add to Project... и поочередно добавляем odbc32.lib и odbccp32.lib.

Все, теперь система сама загрузит эти DLL во время запуска программы.

При мер 1: Получаем список уже созданных источников данных ODBC.

Const short SQL_MAX_DSN_LENGTH=255; UCHAR szDSN[ SQL_MAX_DSN_LENGTH+1 ]; UCHAR szDescription[ 256 ]; short wDSNLen; short wDesLen; int retCode; SQLHENV hEnv=NULL; AnsiString DSNName; SQLAllocEnv(&hEnv); retCode = SQLDataSources(hEnv, SQL_FETCH_FIRST, szDSN, SQL_MAX_DSN_LENGTH+1, &wDSNLen, szDescription, 256, &wDesLen); while(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO) { DSNName = (AnsiString)((char *)szDSN); // -- получили имя DSN в переменной DSNName retCode = SQLDataSources(hEnv, SQL_FETCH_NEXT, szDSN, SQL_MAX_DSN_LENGTH+1, &wDSNLen, szDescription, 256, &wDesLen); } SQLFreeEnv(hEnv);

Этот фрагмент кода просто перебирает все уже созданные источники данных. В первой строке фрагмента после объявления переменных создается хэндл текущего сеанса работы с ODBC, затем выбирается первое имя DSN. Если первое имя успешно прочитано (retCode содержит константу SQL_SUCCESS), то в цикле выбирается следующий DSN и т.д. до тех пор, пока не будет прочитан последний DSN. Если на место комментария вставить код (ListBox1 -> Items -> Add(DSNName)), добавляющий прочитанное имя в ListBox, например, то вы сможете просмотреть весь этот список. А если на место комментария вставить что-нибудь типа

If (DSNName=="OurDSN") ...

то мы проверим, сможет ли наша программа работать нормально.

Пример 2: Создаем новый источник данных.

В этом примере вы узнаете, как создать системный DSN для базы данных Access. Предположим, файл с БД лежит в том же каталоге, что и программа, а его имя - db1.mdb.

#include WORD fRequest = ODBC_ADD_SYS_DSN; UCHAR lpszDriver = "Microsoft Access Driver (*.mdb)"; UCHAR lpszAttributes = "DSN=c2a;DBQ="; bool retCode; AnsiString CurDir; CurDir = GetCurrentDir(); StrCat(lpszAttributes, CurDir.c_str()); StrCat(lpszAttributes, "\\db1.mdb"); retCode = SQLConfigDataSource(NULL, fRequest, lpszDriver, lpszAttributes); if (retCode == true) Application -> MessageBox("DSN успешно создан", "Сообщение", MB_OK); else { Application -> MessageBox("Произошла ошибка во время создания DSN", "Ошибка", MB_OK); }

Как видите, здесь уже не нужны хэндлы и код достаточно ясный. В первых трех строках - дописываем в строку атрибутов путь к файлу БД. Затем собственно создаем источник. Обработка ошибок тривиальна.

Важное замечание: При создании DSN если такое имя уже есть, то не возвращается ошибка, а создается DSN с текущими параметрами.

Пример 3: Как все это собрать воедино и использовать в программе

Здесь кода не будет, здесь будет описание. Итак, у нас есть программа, которой нужно "присоединиться" к базе Microsoft Access, лежащей совсем рядом, в текущем каталоге. На машине пользователя нам не нужно ничего, кроме стандартного набора bpl и BDE. Но - теперь не нужны SQL Links, можно использовать, например, Install Shield, можно взять отдельный дистрибутив BDE. Поехали:

1. На основную форму проекта кидаем компоненту TDatabase. Устанавливаем ее свойства: LoginPrompt - false, DatabaseName - dbMain, AliasName - c2a (имя источника данных ODBC). Во всех компонентах TQuery или TTable свойство Database Name будет равно dbMain. Конечно, можно не использовать компоненту TDatabase, а в TQuery или TTable прямо указывать имя источника данных ODBC, но представьте, если вы написаи проект формочек на двадцать-тридцать, а потом решили, что имя источника "MySuperDSN" не в полной мере отражает всю вашу крутость:-) Изменять свойство у полусотни компонент - очень муторное занятие, поверьте.

2. В конструкторе основной формы прописываем код примера №1, вставляя на место комментария следующий код:

If (t == "c2a") { Exists = true; break; }

а после цикла - такой фрагмент:

If (!Exists) { NewDSN(); }

3. Функция NewDSN() полностью повторяет код примера №2.

Теперь при первом запуске программы будет создан источник данных ODBC Microsoft Access с именем c2a, ссылающийся на файл db1.mdb, лежащий в том же каталоге, что и программа.

4. На всякий непредвиденный случай (если вы переместили программу в другой каталог, поменялась буква диска или сетевое имя, где лежит база данных) можно в программе предусмотреть немедленное перезаписывание DSN по горячей клавише, что-то типа такого:

Void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Shift.Contains(ssAlt) && Shift.Contains(ssCtrl)) if (Key==VK_F1) { if (Application -> MessageBox("Перезаписать DSN?", "Вопрос",MB_YESNO)==IDYES) { NewDSN(); } } }

Здесь для перезаписи DSN используется комбинация Alt-Ctrl-F1

To properly display this page you need a browser with JavaScript support.

Источники данных ODBC

ODBC – это открытый программный интерфейс доступа к различным базам данных: Oracle, MS SQL, MS Access, MS Excel и др.

Данная технология позволяет импортировать значения показателей из внешних источников данных в систему ELMA.

Требования для работы с источниками данных ODBС

Для успешного создания и работы источников данных ODBC должны быть выполнены следующие требования:

    источник данных обязательно должен находиться на одной машине с сервером ELMA;

    названия показателей внешнего источника данных должны совпадать с названиями показателей в системе ELMA;

    при импорте значений персональных показателей должен быть указан логин пользователя в системе ELMA, которому соответствует персональное значение показателя;

    при импорте данных из внешнего источника данных в систему ELMA файл данного источника должен быть закрыт.

Импорт данных из внешнего источника в систему ELMA состоит из нескольких шагов:

Рассмотрим импорт данных на следующем примере: импортируем данные из файла MS Excel ("Данные по отгрузке.xlsx") (рис. 1) в значения показателей Выручка (товары) , Выручка (услуги).

Рис. 1. Содержание файла "Данные по отгрузке.xlsx"

Создание источника данных ODBC в операционной системе Windows

Для создания источника данных в операционной системе Windows необходимо выполнить следующие действия:


После этого в окне Администратор источника данных ODBC отобразится созданный источник данных (рис. 5).

Рис. 5. Окно "Администратор источника данных ODBC". Созданный источник данных

Создание источника данных в Дизайнере ELMA

Для создания источника данных в Дизайнере ELMA необходимо на вкладке Показатели в разделе Источники данных в контекстном меню подраздела Источники данных ODBC выбрать пункт Создать (рис. 6).

Рис. 6. Дизайнер ELMA. Вкладка "Показатели". Раздел "Сбор данных". Контекстное меню подраздела "Источники данных ODBC". Кнопка "Создать"

Рис. 7. Окно "Создать источник данных ODBC"

Вкладка "Настройки"

Название * – название создаваемого источника данных. Данное поле является обязательным для заполнения.

Источник данных * – внешний источник данных. Данное поле является обязательным для заполнения.

Для выбора внешнего источника данных необходимо нажать на кнопку справа от поля и в открывшемся окне (рис. 8) выбрать требуемый источник данных. В рассматриваемом примере – Данные по отгрузке .

Рис. 8. Диалоговое окно "Выберите ODBC соединение"

Запрос – запрос на языке SQL для выбора необходимых данных из внешнего источника.

– проверка синтаксиса запроса не сервере. В случае нахождения ошибок они будут отображены ниже в таблице .

– эмуляция запроса на сервере. Во время эмуляции происходит выполнение запроса, однако изменения в базе данных не осуществляются. При этом в поле

– запуск процесса импорта данных из в значения соответствующих показателей. При этом в поле будет отображена подробная информация об импортируемых значениях показателей.

Ошибки – таблица, содержащая список ошибок, обнаруженных при проверке и эмуляции запроса.

Консоль – поле, содержащее информацию о процессе импорта.

Пример данной вкладки представлен на рис. 9.

Рис. 9. Окно создания источника данных ODBC. Вкладка "Загрузка"

На данной вкладке осуществляется настройка соответствия импортируемых значений и свойств показателей.

Блок "Показатель"

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

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

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

соответствующей странице справки .

Блок "Данные"

В данном блоке необходимо установить соответствие импортируемых значений и свойств показателей.

    План – столбец источника данных, в котором находятся плановые значения показателя.

ODBC предназначен для соединения приложения, выполняемого на рабо­чей станции, с сервером и выполнения процедур, связанных с получением данных. Основными компонентами ODBC являются Администратор и драй­вер. Администратор ODBC устанавливает соединение с указанным пользова­телем внешним источником данных, поддерживает связь между приложени­ем и сервером, обеспечивает приложение информацией и по мере необходимости загружает драйвер. Драйвер управляет взаимодействием при­ложения с сервером, переводит SQL-выражения приложения на диалект ис­точника данных, перехватывает ошибки. Драйверы ODBC содержатся в ди­намически подключаемых библиотеках (DLL).

Чтобы из приложения Access иметь доступ к базам данных SQL, необходимо установить соответствующий драйвер ODBC. Ряд драйверов ODBC поставляется вместе с Access (в том числе драйвер Microsoft SQL Server), и они могут быть установлены уже при инсталляции Access. Дополнительные драйверы ODBC, поддерживающие другие форматы данных, могут быть приобретены у независимых поставщиков. Microsoft Access требует 32-разрядных драйверов ODBC, совместимых с протоколом ODBC уровня 1. Приобретаемые драйверы должны быть проверены в работе с Microsoft Access.

Для того, чтобы посмотреть, установлен ли нужный драйвер на компьютере, выбирают Пуск, Настройка, Панель управления, Администрирование, Источники данных (ODBC).

В открывшемсяокне ODBC Data Source Administrator на вкладкеDrivers (Драйверы) будут представлены все установленные в системе драйверы ODBC.

Если драйверы ODBC установлены, то при выполнении операции с внешними данными становится доступным элементБазы данных ODBC (ODBC Databases()), который и позволяет перейти к процедуре подключения к внешнему источнику данных. Этот элемент отображается в спискеТип файла (Save as Type) при импорте в диалоговом окнеИмпорт (Import) , а при связи с таблицей - в окне Связь (Link) .

Для того чтобы получить доступ к базе данных SQL-сервера, необходимо определить источник данных. Источник данных ODBC - это термин, ис­пользуемый для ссылки на внешнюю базу данных. Для каждой базы данных сервера, с которой работает Access, должен быть создан источник данных. К источникам данных обращаются по именам. Создать источники данных позволяет программа Администратор ODBC. Каждый драйвер ODBC предъ­являет собственные требования к созданию и настройке источников данных.

Администратор ODBC позволяет настраивать и использовать три типа ис­точников данных:

источник данных типаUser DSN - пользовательский источник данных. Такие источники данных могут быть использованы только одним пользо­вателем, работающем на данном компьютере;

системный источник данныхSystem DSN. Он предназначен для всех поль­зователей и системных служб на данном компьютере;

файловый источник данныхFile DSN. Предназначен для совместной ра­боты многих пользователей разных компьютеров сети, на которых установлены одинаковые драйверы, для получения доступа к базе данных. При определении этого источника данных, в отличии от других, указывается файл, в котором сохраняется описание источника. Файл имеет расширение.dsn. Этот файл должен быть доступен на всех компьютерах сети, пользователи которых имеют к нему доступ.

Рассмотрим создание источника данных на примере User DSN – пользовательского источника данных. Процедура создания источников данных других типов практически не имеет отличий и состоит в следующем.

Активизируют диалоговое окно ODBS Data Source Administrator и выбирают в нем вкладку User DSN. Первоначально, в нем нет источников данных для SQL Server. Для создания нового источника данных щелкают по кнопке Add и в окне Create New Data Source выбирают драйвер SQL Server, для которого создается источник.

После выбора драйвера и нажатия кнопки Готово к работе подключается мастер создания нового источника данных. В окне мастера Create a New Data Source to SQL Server:

вводят имя (Name) источника данных, которое будет использоваться при определении источника данных во время подключения к базе данных сервера;

вводят описание(Description), которое поможет определить назначение базы данных, используемой в качестве источника данных;

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

В следующем диалоговом окне выбирают способ проверки прав пользователя на доступ к SQL-серверу при подключении к нему. К SQL Server можно подключаться, используя два режима регистрации:

по доверительному соединению , при котором пользователь, успешно зарегистрировавшийся в сети Windows NT и представленный в списках пользователей сервера, не проверяется дополнительно. Сервер доверяет результатам этой проверки. Этот режим задается при выборе строкиWith Windows NT authentication using the network login ID. В дальнейшем произ­водится только проверка на право выполнения тех или иных работ с объ­ектами баз данных;

путем проверки самим SQL Server идентификатора пользователя и пароля, передаваемых непосредственно серверу. Этот режим задают при выборе строкиWith SQL Server authentication using a login ID and password entered by the user. Результаты проверки, выполненной Windows NT, не учитыва­ются. Пользователь должен быть известен серверу под этим именем.

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

После установки в следующем окне еще ряда параметров мастер завершает создание нового источника данных выводом окнаODBC Microsoft SQL Server Setup с информацией о его параметрах.

Нажав кнопкуTest Data Source, можно произвести тестирование нового ис­точника данных. Результаты тестирования отобразятся в соответствующем окне.

Выполнив рассмотренные шаги по созданию источника данных и возвратившись в окноODBC Data Source Administrator, в списке на вкладке User DSN увидят строку с именем нового источника данных.

На этом создание источника данных завершается. Теперь, указав лишь имя источника данных, можно подключиться к конкретному SQL-серверу данных.

Для просмотра или изменения параметров существующего источника данных выбирают его имя в спискеUser Data Sources и нажимают кнопкуConfigure (Настройка). Выполняют необходимые действия по изменению источника в диалоговых окнах, которые в точности повторяют рассмотренные выше.

Для удаления источника данных выбирают его имя в спискеUser Sources и нажимают кнопкуRemove (Удалить).

В каждом диалоговом окне Администратора ODBC имеется кнопкаСправка ,нажав которую, можно получить дополнительные сведения по каждому параметру источника данных.

Связь с таблицами баз данных SQL Server

Из приложений, созданных в Access, можно связаться с таблицами базы данных на сервере. Связанные таблицы, оставаясь на сервере в формате источника, отображаются в окне базы данных Access. Эти таблицы могут быть использованы наряду с локальными таблицами базы дан­ных Access при создании запросов, форм, отчетов привычными диалоговыми средствами Access. Связанные таблицы можно просмотреть и в режиме конст­руктора, однако, никакие изменения структуры таблицы невозможны.

Для создания связи с внешними таблицами предназначена команда Файл/Внешние данные/Связь с таблицами (File/Get External Data/Link Tables). При выполнении этой команды открывается окноСвязь (Link), в котором для создания связи с таблицами из внешних баз данных ODBC, нужно выбрать в полеТип файлов строкуODBC Databases ().

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

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

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

Если связанные таблицы включены в схему БД Access и между ними уста­новлены связи, то в режиме таблицы для записи главной таблицы отобра­жаются записи подчиненной. По умолчанию в свойствах связан­ной таблицы, открываемых в режиме конструктора, строкаИмя подтаблицы имеет значение[Авто]. Для разрыва связи с таблицей на сервере достаточно удалить ее, как удаляют другую таблицу локальной базы данных, выполнив, командуПравка (Edit/Delete) в окне базы данных. При этом таблица на сервере удалена не будет. Будет выведено сообщение о разрыве связи.

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

Все связанные таблицы и параметры их источников данных можно увидеть в окне Диспетчер связанных таблиц (Linked Tables Manager), которое откры­вается по одноименной команде, представленной в окнеСлужебные про­граммы (Database Utilites), вызываемом командойСервис|Служебные про­граммы (Tools/Database Utilites). В этом окне можно обновить связь, если изменилось местоположение или другие параметры источника данных.

В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Книга:

Для получения доступа к созданной DBF-таблице из сценария WSH мы воспользуемся технологией ODBC (Open DataBase Connectivity). ODBC - это стандартное средство Microsoft для работы с реляционными базами данных различных форматов и производителей, способное обрабатывать запросы к базам на языке SQL (Structured Query Language, язык структурированных запросов).

Замечание

Для начального ознакомления с языком SQL можно порекомендовать книгу .

Вначале нам понадобится завести в системе ODBC-запись для связи с нашей базой, т.е. создать новый DSN (Data Source Name, имя источника данных). В Windows ХР это делается следующим образом.

Загрузим Панель управления (Control Panel) Windows (меню Пуск (Start)) и переключимся к классическому виду (рис. 9.6).


Рис. 9.6. Классический вид панели управления Windows ХР

Последовательно выберем пункты Администрирование (Administrative tools) и Источники данных (ODBC) (Data sources (ODBC)). В появившемся диалоговом окне выберем вкладку Системный DSN (System DSN), что позволит создать DSN, доступный всем пользователям компьютера (рис. 9.7).


Рис. 9.7. Администратор источников данных ODBC в Windows ХР

Нажмем кнопку Добавить (Add) и в появившемся окне выберем драйвер Microsoft dBase Driver (*.dbf) (рис. 9.8).