Удаленные представления данных
Глава 22. Удаленные представления данных
Удаленные представления данных Определение источника данных ODBC Именованное соединение Конструктор соединений Настройка параметров удаленных представлений и соединений в диалоговом окне Options Создание удаленного представления данных Использование мастера удаленных представлений Использование конструктора представлений Использование команды CREATE SQL VIEW Особенности использования удаленных представлений данных для электронных таблиц Microsoft Excel Совместно используемые соединения Комбинирование в представлении локальных и удаленных данных Настройка представления с помощью словаря базы данных <
Именованное соединение
Именованное соединение
Удобным средством для работы с удаленными данными является именованное соединение, которое хранится в базе данных и на которое можно ссылаться по имени при создании удаленного представления. Вы также можете устанавливать свойства именованного соединения для оптимизации связи между Visual FoxPro и удаленным источником данных. При активизации удаленного представления его соединение становится каналом, ведущим к удаленному источнику данных.
Для создания именованного соединения выполните любое из следующих действий:
в диспетчере проектов из списка Databases (Базы данных) выберите раздел Connections (Соединения) (рис. 22.4), затем нажмите кнопку New (Новый), чтобы вызвать конструктор соединений; откройте базу данных и используйте команду create connection, чтобы открыть конструктор соединений; используйте команду create connection (Создать соединение) с именем соединения в качестве параметра.Использование команды CREATE SQL VIEW
Использование команды CREATE SQL VIEW
Для создания удаленных представлений данных вы можете использовать команду create sql view, синтаксис которой приведен ниже:
CREATE SQL VIEW [имяПредставления] [REMOTE]
[CONNECTION имяСоединения
|CONNECTION имяИсточникаДанных]
Для создания удаленного представления данных необходимо указать признак удаленного представления с помощью ключевого слова remote. Имя удаленного соединения или источника данных задается с помощью параметра CONNECTION.
Вы также можете задать определение представления с помощью SQL-выражения, им может быть любой допустимый оператор sql select, который не следует заключать в кавычки.
Например, чтобы создать удаленное представление данных для таблицы Goods, расположенной в базе данных Microsoft SQL Server и для которой определено соединение SQLServer, вы можете использовать следующие команды:
OPEN DATABASE SALES
CREATE SQL VIEW SQLServerGoods
CONNECTION SQLServer
AS SELECT * FROM GOODS
Использование конструктора представлений
Использование конструктора представлений
Для создания удаленного представления с помощью конструктора представлений в диспетчере проектов из списка Databases (Базы данных) выберите раздел Remote Views (Удаленные представления), а затем нажмите кнопку New (Новый). На экране появится диалоговое окно выбора источника данных Select Connection or Data Source (Выбрать соединение или источник данных) (рис. 22.16).
Выберите источник данных или соединение, введите идентификатор и пароль доступа к базе данных. Далее, как и при создании локального представления данных, выберите используемые в представлении данных таблицы и поля выбранных таблиц (рис. 22.17).
При создании удаленных представлений данных необходимо обратить внимание на вкладку Update Criteria (Критерии обновления), в которой задаются условия обновления представлений.
Использование мастера удаленных представлений
Использование мастера удаленных представлений
Мастер удаленных представлений создает представления с использованием удаленных данных (ODBC). Предлагая ответить на ряд простых вопросов, мастер помогает вам выполнить процедуру в несколько этапов; при этом вы должны задать базы данных, таблицы и поля, которые хотите использовать в своем представлении. Перед этим вы должны создать базу данных, в которой будет сохранено представление, а также определить источник данных или соединение.
Для запуска мастера удаленных представлений в меню Tools (Сервис) выберите команду Wizards (Мастера), а затем опцию Query (Запрос), потом в открывшемся диалоговом окне Wizard Selection (Выбор мастера) выберите значение Remote View Wizard (Мастер удаленного представления) (рис. 22.9).
Комбинирование в представлении локальных и удаленных данных
Комбинирование в представлении локальных и удаленных данных
Актуальной задачей при разработке приложений, использующих удаленные данные, является комбинирование в представлении локальных и удаленных данных. В Visual FoxPro данная задача решается достаточно просто. Прежде всего, вы должны создать удаленные представления для данных, которые будут использоваться совместно с локальными.
Конструктор соединений
Конструктор соединений
Окно конструктора соединений (рис. 22.5) позволяет вам задать параметры именованного соединения в интерактивном режиме.
Область Specify data source (Определить источник данных) содержит опции Data source, userid, password (Источник данных, идентификатор пользователя, пароль) и Connection string (Строка соединения), определяющие способ соединения с источником данных. При выборе первой опции в области отображаются поля ввода (табл. 22.1).
Настройка параметров удаленных представлений и соединений в диалоговом окне Options
Настройка параметров удаленных представлений и соединений в диалоговом окне Options
Прежде чем запускать мастера удаленных представлений, вы можете установить опции для принимаемых по умолчанию параметров удаленных представлений и соединений, используя вкладку Remote Data (Удаленные данные) диалогового окна Options (Параметры) (рис. 22.8).
Область Remote view defaults (Удаленное представление по умолчанию) содержит параметры (табл. 22.5), используемые по умолчанию при создании удаленных представлений:
Настройка представления с помощью словаря базы данных
Настройка представления с помощью словаря базы данных
Так как сведения о представлении хранятся в словаре базы данных, вы можете определить для него следующие свойства: заголовок поля; комментарии для представления его полей; значения полей, принимаемые по умолчанию; правила проверки достоверности данных на уровне поля и записи.
Для определения свойств полей представления данных в окне конструктора представления перейдите на вкладку Fields (Поля) и нажмите кнопку Properties (Свойства). Откроется диалоговое окно View Field Properties (Показать свойства поля) (рис. 22.22).
Раскрывающийся список Field (Поле) в этом диалоговом окне содержит перечень всех полей представления. Для определения свойств поля необходимо сначала выбрать его из этого списка.
В области Field validation (Проверка достоверности данных поля) вы можете задать условия проверки достоверности данных на уровне поля при вводе данных (табл. 22.9).
Определение источника данных ODBC
Определение источника данных ODBC
После установки драйвера ODBC вы можете определить для него один или несколько источников данных ODBC.
Для добавления источника данных ODBC выполните следующие действия:
Выберите в Панели управления Windows папку Администрирование и в ней пиктограмму Источники данных (ODBC).Особенности использования удаленных представлений данных для электронных таблиц Microsoft Excel
Особенности использования удаленных представлений данных для электронных таблиц Microsoft Excel
При использовании ODBC-драйвера Microsoft Excel для создания удаленного представления данных создается таблица Visual FoxPro или курсор. Эта таблица содержит выбранные данные из электронной таблицы Microsoft Excel. Однако если ячейка таблицы содержит текст, в таблице Visual FoxPro он отображается в виде Memo-поля (рис. 22.18).
Это связано с тем, что ODBC-драйвер передает текстовые данные в виде строки длиной 255 символов. Так как Visual FoxPro не может отображать в текстовом поле более 254 символов, любые текстовые данные помещаются в Memo-поле. Приемлемым решением этой проблемы является создание новых текстовых полей и копирование в них информации из Memo-полей командой, аналогичной следующей:
REPLACE ALL sqlchar WITH TRIM(sqlmemo)
Замечание
Замечание
При обновлении данных в многоуровневом представлении изменения отражаются в том представлении, на котором основано представление верхнего уровня. Если нужно обновить базовые таблицы многоуровневого представления, то необходимо применить команду tableupdate для каждого представления многоуровневой структуры.
Диалоговое окно ODBC Data Source Administrator
Рис. 22.1. Диалоговое окно ODBC Data Source Administrator
Диалоговое окно Create New Data Source
Рис. 22.2. Диалоговое окно Create New Data Source
Замечание
Замечание
Вид диалогового окна настройки параметров соединения зависит от типа источника данных. Тем не менее для всех источников данных необходимо в поле ввода Name (Имя) указать имя источника данных, которое в дальнейшем используется для ссылки на источник данных. Поле ввода Description (Описание) содержит краткое описание источника данных. Если при определении значений остальных полей возникнут проблемы, обратитесь к администратору базы данных, к которой вы собираетесь определить доступ.
Диалоговое окно определения параметров соединения
Рис. 22.3. Диалоговое окно определения параметров соединения
Раздел Connections списка Database
Рис. 22.4. Раздел Connections списка Database
Окно конструктора соединений
Рис. 22.5. Окно конструктора соединений
При выборе опции Connection string (Строка соединения) вместо приведенных выше полей ввода отображается только одно поле ввода Connect string (Строка соединения), в котором можно ввести строку соединения с источником данных.
Кнопка Verify Connection (Проверить соединение) предназначена для проверки соединения с указанным источником данных. Кнопка New Data Source (Новый источник данных) позволяет определить новый источник данных непосредственно из конструктора соединений.
Область Display ODBC login prompts (Отображение окна доступа к ODBC-источнику) содержит опции, определяющие, когда будет открываться диалоговое окно Data Source Login (Доступ к источнику данных) (табл. 22.2).
Ввод имени соединения
Рис. 22.6. Ввод имени соединения
Все созданные вами именованные соединения отображаются в разделе Connections (Соединения) списка Database (База данных). Например, на рис. 22.7 приведены именованные соединения с источниками данных Access, Microsoft SQL Server и Microsoft Excel.
Для изменения параметров именованного соединения выберите требуемое соединение и нажмите кнопку Modify (Модифицировать). Откроется окно конструктора соединений, в котором вы можете изменить любые параметры соединения.
Именованные соединения
Рис. 22.7. Именованные соединения
Настройка параметров удаленных представлений и соединений
Рис. 22.8. Настройка параметров удаленных представлений и соединений
Область Connection defaults (табл. 22.6) содержит параметры, используемые при создании именованных соединений:
Выбор мастера удаленных представлений
Рис. 22.9. Выбор мастера удаленных представлений
На первом шаге вы выбираете источник данных из списка имеющихся источников данных или созданных вами именованных соединений (рис. 22.10).
Выбор источника данных
Рис. 22.10. Выбор источника данных
Если удаленный источник данных требует идентификации пользователя, то на экране открывается диалоговое окно ввода имени пользователя и пароля (рис. 22.11).
Ввод имени пользователя и пароля
Рис. 22.11. Ввод имени пользователя и пароля
Введите имя пользователя и пароль входа в базу данных. После этого откроется диалоговое окно выбора полей (рис. 22.12), помещаемых в создаваемое представление. Вы можете выбирать поля из нескольких таблиц или представлений базы данных, с которой вы соединились. Вначале выберите одну таблицу и перенесите поля выбранной таблицы в список Selected Fields (Выбранные поля), а затем выберите поля из другой таблицы или другого представления.
Выбор полей удаленного представления
Рис. 22.12. Выбор полей удаленного представления
Если вы выберете более одной таблицы, вам необходимо определить отношения между таблицами (рис. 22.13). Для этого выберите нужные поля из приведенных списков и нажмите кнопку Add (Добавить).
Определение отношения между таблицами
Рис. 22.13. Определение отношения между таблицами
На следующих двух шагах создания удаленного представления укажите порядок сортировки информации и фильтр для ограничения выбираемых данных.
На последнем шаге укажите режим завершения процесса создания и введите имя создаваемого удаленного представления. Вы можете просто сохранить его, открыть для просмотра или открыть в конструкторе представлений. После создания удаленного представления его имя появится в разделе Remote Views (Удаленные представления) (рис. 22.14). После того как удаленное представление сохранено, его можно открыть и модифицировать в конструкторе представлений, как любое другое представление.
Отображение списка удаленных представлений
Рис. 22.14. Отображение списка удаленных представлений
Для просмотра данных созданного удаленного представления выберите его из раздела Remote Views (Удаленные представления) и нажмите кнопку Browse (Обзор). На рис. 22.15 вы видите данные из созданного удаленного представления.
Просмотр данных удаленного представления
Рис. 22.15. Просмотр данных удаленного представления
Диалоговое окно Select Connection or Data Source
Рис. 22.16. Диалоговое окно Select Connection or Data Source
Выбор полей представления данных
Рис. 22.17. Выбор полей представления данных
На этой вкладке из списка Table (
Просмотр представления данных для электронной таблицы Microsoft Excel
Рис. 22.18. Просмотр представления данных для электронной таблицы Microsoft Excel
Замечание
Замечание
Visual FoxPro автоматически выполняет команду tableupdate при закрытии представления. При этом представления верхнего уровня закрываются первыми, поэтому вам придется обновлять представления с каждого верхнего уровня на каждый последующий нижний уровень. После закрытия последнего (самого нижнего уровня) представления базовые таблицы для данных представлений будут содержать полный список всех выполненных обновлений.
Диалоговое окно Advanced Options
Рис. 22.19. Диалоговое окно Advanced Options
Комбинирование данных из таблиц Visual FoxPro и Microsoft SQL
Рис. 22.20. Комбинирование данных из таблиц Visual FoxPro и Microsoft SQL
Просмотр комбинированных данных
Рис. 22.21. Просмотр комбинированных данных
Затем в диспетчере проектов выберите раздел Local Views (Локальные представления) и нажмите кнопку New (Новый), чтобы открыть конструктор представлений. Добавьте в новое представление любую комбинацию таблиц, локальных и удаленных представлений. Например, вы можете объединить в одном представлении данные из локальной таблицы Ordsaied и удаленного представления данных Microsoft SQL, содержащего список товаров. На рис. 22.20 вы видите комбинированное представление в окне конструктора представлений, а на рис. 22.21 — то же представление в режиме просмотра.
Для создания комбинированного представления вы можете использовать также команду create sql view. Например, чтобы создать локальное представление, комбинирующее информацию из локальной таблицы ordsaiem и удаленной таблицы customer (расположенной на сервере базы данных SQLServer), используйте следующий код:
OPEN DATABASE SALES
CREATE SQL VIEW localORDSALEM_remoteCUSTOMER;
AS SELECT * FROM SQLSERVERCUSTOMER, ORDSALEM
WHERE SQLSERVERCUSTOMER.iCdCustomer =
ORDSALEM. iCdCus tomer
Определение свойств полей представления данных
Рис. 22.22. Определение свойств полей представления данных
Совместно используемые соединения
Совместно используемые соединения
При создании удаленных представлений вы можете воспользоваться совместно используемыми соединениями. В этом случае одно активное соединение используется как информационный канал для нескольких удаленных представлений.
При совместном использовании активного соединения:
уменьшается нагрузка на ресурсы системы; уменьшается количество связей на удаленном сервере; уменьшаются накладные расходы на связи с серверами.Для определения разделяемого соединения воспользуйтесь любым из приведенных ниже способов.
В диспетчере проектов выберите в меню Tools (Сервис) команду Options (Параметры). Откройте вкладку Remote Data (Удаленные данные), установите флажок Share Connection (Совместное подключение), расположенный в области Remote View Defaults (Значение по умолчанию для удаленных представлений), и нажмите ОК. В окне конструктора представлений в меню Query (Запрос) выберите команду Advanced Options (Дополнительные параметры) и в открывшемся диалоговом окне Advanced Options (Дополнительные параметры) установите флажок Share Connection (Совместное подключение) (рис. 22.19). Используйте команду create sql view с ключевым словом share.Создание удаленного представления данных
Создание удаленного представления данных
После того как был определен источник данных или именованное соединение, можно создать удаленное представление. Для этого выполните следующие действия: откройте базу данных и вызовите мастера удаленных представлений; в диспетчере проектов из списка Databases (Базы данных) выберите раздел Remote Views (Удаленные представления), затем нажмите кнопку New (Новый) для вызова конструктора представлений; используйте команду create sql view с предложением remote и/или CONNECTION.
Рассмотрим каждый из этих вариантов создания удаленного представления данных на примерах использования электронной таблицы Microsoft Excel и базы данных Microsoft SQL Server.
Назначение полей ввода области Specify data source
Таблица 22.1. Назначение полей ввода области Specify data source
Поле | Назначение |
Data source (Источник данных) | Имя источника данных из списка установленных источников данных ODBC |
Userid (Идентификатор пользователя) | Идентификатор пользователя для выбранного источника данных |
Password (Пароль) | Пароль пользователя |
Database (База данных) | Имя базы данных |
Опции области Display ODBC login prompts
Таблица 22.2. Опции области Display ODBC login prompts
Наименование | Назначение |
When login info is not specified (Когда параметры доступа не определены) | Диалоговое окно Data Source Login (Доступ к источнику данных) открывается только в том случае, если заданный идентификатор пользователя и пароль не найдены в определении именованного соединения |
Always (Всегда) | Указывает, что Visual FoxPro всегда открывает для пользователя диалоговое окно Data Source Login (Доступ к источнику данных), в котором можно выбрать другой регистрационный идентификатор и другой пароль из числа хранящихся в именованном соединении |
Never (Никогда) | Указывает, что Visual FoxPro никогда не открывает диалоговое окно входа в базу данных |
В области Data processing (Обработка данных) определяются свойства, связанные с обработкой данных соединения (табл. 22.3).
Опции области Data processing
Таблица 22.3. Опции области Data processing
Наименование | Назначение |
Asynchronous execution (Асинхронное выполнение) | Задает признак асинхронного соединения |
Display warnings (Показывать предупреждения) | Задает признак отображения не перехватываемых предупреждений |
Batch processing (Пакетная обработка данных) | Задает пакетный режим обработки данных |
Automatic transactions (Автоматические транзакции) | Задает автоматическую обработку транзакций |
Packet size (Размер пакета данных) | Задает размер пакета данных, передаваемого от сервера базы данных |
Замечание
Замечание
Для определения значений параметров области Data processing (Обработка данных) вы можете использовать функцию dbsetprop ().
Область Timeout intervals (Интервалы времени) содержит опции, устанавливающие временные параметры обработки данных (табл. 22.4).
Опции области Timeout intervals
Таблица 22.4. Опции области Timeout intervals
Наименование | Назначение |
Connection (sec) (Соединение) | Задает интервал тайм-аута соединения в секундах |
Query (sec) (Запрос) | Задает интервал тайм-аута запроса в секундах |
Idle (min) (Холостой режим) | Задает интервал тайм-аута холостого режима в минутах. Активные соединения по истечении этого интервала времени де-активизируются |
Wait time (ms) (Время ожидания) | Задает промежуток времени в миллисекундах, по истечении которого Visual FoxPro может определить, завершено ли выполнение оператора SQL |
Замечание
Замечание
Для определения значений параметров области Data processing (Обработка данных) вы можете использовать функцию dbsetprop ().
По умолчанию для именованного соединения задается имя Connect 1. При закрытии окна конструктора соединений открывается диалоговое окно Save (Сохранить) (рис. 22.6), предлагающее ввести подходящее имя соединения.
Параметры удаленного представления
Таблица 22.5. Параметры удаленного представления
Параметр | Описание |
Share connection (Совместное подключение) | Указывает, что в новых представлениях будет использоваться текущее совместно используемое соединение |
Fetch memo (Выборка Memo-поля) | Указывает, что Memo-поле не будет выбираться из источника данных до тех пор, пока оно не будет активизировано в представлении данных |
SQL updates: Criteria (Критерии SQL-обновления) | Задает критерий обновления данных |
SQL updates: Method (Метод SQL-обновления) | Задает метод обновления данных |
Records to fetch at a time (Выборка записей за промежуток времени)_ | Задает количество записей, возвращаемых за один раз из удаленного источника данных |
Maximum records to fetch (Максимальная выборка записей за промежуток времени) | Ограничивает общее число записей, возвращаемых в представлении |
Use memo for fields (Использовать перевод символьных данных в Meмо-поля) >= | Задает условие преобразования длинных символьных полей в Memo-поля в выводе представления |
Records to batch update (Количество обновляемых одновременно записей) | Задает число записей, подлежащих обновлению в одной команде |
Параметры именованного соединения
Таблица 22.6. Параметры именованного соединения
Параметр | Описание |
Asynchronous execution (Асинхронное выполнение) | Задает признак асинхронной обработки |
Display warnings (Показывать предупреждения) | Задает режим выдачи предупреждающих сообщений |
Batch processing (Пакетная обработка) | Обеспечивает пакетную обработку. Если установить этот переключатель, Visual FoxPro не будет возвращать результаты вызова sqlexec () до тех пор, пока не поступят все отдельные результирующие наборы |
Automatic transactions (Автоматические транзакции) | Определяет, каким образом соединение управляет ходом транзакций в удаленной таблице |
Show login (Показывать окно приглашения) | Отображает диалоговое окно ввода регистрационного приглашения только в том случае, если в определении соединения или представления не задана информация регистрации |
Connection timeout (sec) (Ожидание соединения) | Задает интервал времени (в секундах), в течение которого допускается ожидание установки соединения с удаленным сервером. Если в течение этого времени соединение не устанавливается, Visual FoxPro генерирует ошибку |
Idle timeout (min) (Холостой режим) | Задает интервал времени (в минутах), в течение которого допускается простаивание, прежде чем соединение будет прекращено. Если в течение этого времени не был сделан запрос к серверу, Visual FoxPro разрывает соединение. Однако если сделать запрос к серверу по истечении интервала тайм-аута для соединения, Visual FoxPro автоматически попытается его восстановить |
Query timeout (sec) (Ожидание запроса) | Задает интервал времени (в секундах), в течение которого допускается ожидание от сервера ответа на запрос. Если сервер тратит на обработку больше заданного числа секунд, Visual FoxPro генерирует ошибку |
Wait time (ms) (Время ожидания завершения запроса) | Задает интервал времени (в миллисекундах) между проверками на завершение запроса |
Опции области SQL WHERE clause includes
Таблица 22.7. Опции области SQL WHERE clause includes
Опция | Назначение |
Key fields only (Только ключевые поля) | Указывает, что предложение where, используемое для обновления удаленных таблиц, включает только поля, входящие в список Field name (Имя поля) |
Key and updateable fields (Ключевые и доступные для изменения поля) | Указывает, что предложение where, используемое для обновления удаленных таблиц, включает поля, входящие в список Field name (Имя поля), а также все обновляемые поля |
Key and modified fields (Ключевые и модифицированные поля) | Указывает, что предложение where, используемое для обновления удаленных таблиц, включает поля, входящие в список Field name (Имя поля), и все остальные изменившиеся поля |
Key and timestamp (Ключевые поля и отметки времени) | Указывает, что предложение where, используемое для обновления удаленных таблиц, включает первичные поля, входящие в список Field name (Имя поля), а также сравнение по отметкам времени |
В области Update using (Строка обновления) задается способ обновления полей на сервере базы данных (табл. 22.8).
Опции области Update using
Таблица 22.8. Опции области Update using
Опция | Назначение |
SQL DELETE then INSERT | Указывает, что сначала исходная запись таблицы базы данных будет удалена, а затем будет добавлена новая запись |
SQL UPDATE | Указывает, что запись таблицы базы данных будет модифицироваться |
Опции области Field validation
Таблица 22.9. Опции области Field validation
Поле | Назначение |
Rule (Правило) | Задает правило проверки достоверности данных на уровне поля |
Message (Сообщение) | Задает сообщение об ошибке, которое будет выдаваться, если введенные данные не согласуются с правилом уровня поля |
Default value (Значение по умолчанию) | Задает для поля значение по умолчанию |
Для удаленных данных правило проверки достоверности данных на уровне поля задается средствами сервера базы данных. Вы можете задать локальное правило для:
уменьшения времени отклика системы; уменьшения загрузки сетевых ресурсов; проверки данных перед их пересылкой удаленному источнику данных.Visual FoxPro не сравнивает локальное и удаленное правило проверки дос-товерности данных.
В области Display (Отобразить) вы можете задать условия проверки достоверности данных на уровне поля при отображении и вводе данных (табл. 22.10).
Опции области Display
Таблица 22.10. Опции области Display
Поле | Назначение |
Format (Формат) | Задает формат отображения данных. Этот формат используется в окне Browse, отчетах и формах |
Input mask (Маска ввода) | Задает маску ввода данных |
Caption (Описание) | Задает описательное имя поля. Название изображается в качестве заголовка столбца при просмотре таблицы. Оно может включать до 128 символов |
Если вы планируете использовать представление данных в формах, то можете использовать опции области Map field type to classes (Установить соответствие между типами полей и классами) для задания типа объекта управления, создаваемого в форме при размещении данного подя.
Для удаленных представлений данных вы можете определить тип и размер поля представления данных. Используйте для этого опции области Data mapping (Соответствие типов данных).
Поле редактирования Comment (Комментарий) содержит описательный комментарий о данном поле. Все, что вы здесь введете, при выборе поля будет отображено в качестве описания в нижней части диспетчера проектов.
Замечание
Замечание
Для определения свойств полей представления данных вы можете использовать функцию DBSETPROP ( ) .
Удаленные представления данных
Удаленные представления данных
Информация, используемая в разрабатываемом приложении, может находиться не только в таблицах Visual FoxPro, но и в электронных таблицах Microsoft Excel, в текстовом виде, в файлах базы данных Paradox или же на сервере базы данных типа SQL Server. Такие данные называются удаленными данными, несмотря на то, что они могут находиться даже на одном компьютере с Visual FoxPro.
Для доступа к удаленным данным используется стандартный протокол доступа к базам данных (ODBC). Все базы данных, а также электронные таблицы имеют драйверы ODBC, с помощью которых вы можете соединяться с ними и получать доступ к их содержимому.