Ваше клиент-серверное приложение может обращаться к данным на сервере с помощью:
-
Удаленных представлений
-
SQL pass-through
Удаленные представления обеспечивают наиболее обший и простой способ для обращения и обновления удаленных данных. Мастера переноса (upsizing wizards) могут автоматически создавать удаленные представления в вашей базе данных как часть переноса или же вы можете использовать Visual FoxPro для создания удаленных представлений после переноса. Для получения более подробной информации об удаленных представлениях смотрите описание задачи Как: создавать удаленные представления.
Технология SQL pass-through позволяет вам посылать предложения SQL непосредственно серверу. Предложения SQL pass-through, вследствие того, что они исполняются на back-end сервере, представляют собой мощный способ увеличить производительность ваших клиент-серверных приложений. В приведенной ниже таблице производится сравнение удаленных представлений с SQL pass-through.
Удаленное представление | SQL Pass-Through |
---|---|
Основано на предложении SQL SELECT. |
Основано на любом родном серверном предложении SQL, позволяя исполнение предложения определения данных или хранимых процедур на удаленном сервере. |
Может быть использовано в качестве источника данных для элементов управления в design time. |
Не может быть использовано в качестве источника данных для элементов управления. |
Нет возможности исполнить команд DDL (data definition language - язык определения данных) на источнике данных . |
Предоставляет метод для использования команд DDL на источнике данных. |
Извлекает один набор результатов. |
Извлекает один или более наборов результатов. |
Обеспечивает встроенное управление соединением. |
Требует явного управления соединением. |
Обеспечивает встроенную по умолчанию информацию для обновлений, вставок и удалений. |
Не обеспечивает информацией по умолчанию. |
Обеспечивает явное исполнение SQL и извлечение данных. |
Обеспечивает явное исполнение SQL и управление извлечением результата. |
Не обеспечивает обслуживание транзакций. |
Обеспечивает явное обслуживание транзакций. |
Хранит свойства на постоянной основе в базе данных. |
Обеспечивает временные свойства для курсора SQL pass-through, основанные на свойствах сессии. |
Использует асинхронное прогрессивное извлечение во время исполнения SQL. |
Полностью поддерживает программируемое асинхронное извлечение. |
Технология SQL pass-through предоставляет перечисленные ниже преимущества по сравнению с удаленными представлениями:
-
Вы можете использовать функциональные возможности характерные для сервера, такие как хранимые процедуры и внутренние, основанные на технологии сервера, функции.
-
Вы можете использовать расширения SQL поддерживаемые сервером, в том числе определение данных (data-definition), администрирование сервера и команды безопасности.
-
У вас есть больший контроль над предложениями SQL pass-through Update, Delete и Insert.
-
У вас есть больший контроль над удаленными транзакциями.
Совет
Visual FoxPro может обслуживать запросы SQL pass-through, которые возвращают более одного набора результатов.
Запросы SQL pass-through, кроме того, имеют и ряд недостатков:
-
По умолчанию, запрос SQL pass-through всегда возвращает необновляемый снимок удаленных данных, который хранится в активном курсоре представления. Вы можете сделать курсор обновляемым с помощью установки свойств через использование функции CURSORSETPROP(). Обновляемое удаленное представление, в противоположность этому, обычно не требует, чтобы вы установили свойства до того, как вы сможете обновить удаленные данные, поскольку установки свойств хранятся в базе данных, в которой создание определение удаленного представления.
-
Вы должны вводить команды SQL непосредственно в командном окне или в программе, вместо использования графического View Designer (Конструктора представлений).
-
Вы создаете и управляете соединением к источнику данных.
Независимо от того, используете ли вы удаленные представления или SQL pass-through, вы можете запрашивать и обновлять удаленные данные. Во многих приложениях вы можете использовать как удаленные представления, так и SQL pass-through.
Использование функций SQL Pass-Through
Для использования SQL pass-through с целью соединения с удаленным ODBC источником данных, вы должны сначала вызвать функцию Visual FoxPro SQLCONNECT() для создания соединения. Затем вы можете использовать функции Visual FoxPro SQL pass-through для посылки удаленному источнику данных команд на исполнение.
Для использования функций Visual FoxPro SQL pass-through
Убедитесь, что ваша система способна подключить ваш компьютер к вашему источнику данных. Используйте тестовую утилиту, такую как ODBC Test for ODBC.
Установите соединение с вашим источником данных с помощью функции SQLCONNECT() или SQLSTRINGCONNECT().
Например, если вы соединяете Visual FoxPro к источнику данных SQL Server
sqlremote
, вы можете зарегистрироваться с помощью приведенной ниже команды:Скопировать код
nConnectionHandle = SQLCONNECT('sqlremote','<userid>','<password>')
Замечание
Вы можете, кроме того, для соединения посредством именованного соединения использовать функцию SQLCONNECT().
-
Используйте функции Visual FoxPro SQL pass-through для извлечения данных в курсоры Visual FoxPro и обрабатывайте полученные данные с помощью стандартных команд и функций Visual FoxPro.
Например, вы можете послать запрос таблице
authors
и посмотреть выходной курсор с помощью приведенной ниже команды:Скопировать код
? SQLEXEC(nConnectionHandle,"select * from authors","mycursorname") BROWSE
-
Отсоединитесь от источника данных с помощью функции SQLDISCONNECT() function.
Смотрите также
Задачи
Как: обращаться к хранимым процедурам на удаленных серверах через функции SQL Pass-Through FunctionsКак: возвратить множественный набор результатов
Справочное руководство
Функции Visual FoxPro SQL Pass-ThroughКонцепции
Использование наборов результатовОбработка множественных наборов результатов
Прочие ресурсы
Использование технологии SQL Pass-ThroughРасширение приложений с помощью технологии SQL Pass-Through
Планирование клиент-серверных приложений
Перенос баз данных Visual FoxPro
Создание представлений