
- •Лекция Работа Access с данными на sql-сервере
- •Microsoft sql Server на локальном компьютере
- •Работа Access с sql Server через odbc
- •Определение внешних источников данных в odbc
- •Типы источников данных
- •Создание источника данных
- •Запросы на языке sql к базам данных sql Server
- •Создание запросов sql к серверу
- •Определение источника данных для запроса sql
- •Примеры запросов sql к серверу
- •Связь с таблицами баз данных sql Server
- •Создание связи с таблицами сервера
- •Примеры запросов со связанными таблицами
- •Импорт объектов из базы данных sql-сервера в Access
- •Экспорт объектов Access в базу данных sql-сервера
Запросы на языке sql к базам данных sql Server
Рассмотрим первый способ использования данных из базы Microsoft SQL Server— запросы SQL. Запросы к базе данных SQL-сервера записываются непосредственно на языке SQL и для выполнения передаются на сервер. В этих запросах используются таблицы и представления, сохраняемые в базе данных на сервере. Эти таблицы не представлены в окне базы данных Access, поэтому создание запроса в режиме конструктора невозможно, т. к. нельзя добавить их в схему данных запроса. Запрос должен быть записан на языке SQL-сервера (для Microsoft SQL Server—- Transact-SQL), которому будет посылаться запрос. Запрос передается на сервер через ODBC, но не обрабатывается им.
Создание запросов sql к серверу
Процесс создания запроса на языке SQL в Access начинается с выполнения на вкладке ленты Создание (Create) в группе Другие (Other) команды Конструктор запросов (Query Design). В диалоговом окне запроса Добавление таблицы (Show Table) не следует выбирать таблиц. Его надо просто закрыть.
Далее на вкладке ленты Работа с запросами | Конструктор (Query Tools j Design) в группе Тип запроса (Query Type) следует выбрать команду К серверу (Pass Through).
В окне запроса к серверу вводится инструкция SQL. Синтаксис инструкций запроса должен соответствовать диалекту языка, поддерживаемого сервером SQL, к которому будет посылаться запрос. Для уточнения синтаксиса целесообразно обратиться к справочной информации сервера.
Замечание
Инструкции SQL для типичных запросов к базе данных можно просмотреть, открыв созданные средствами конструктора запросы в режиме SQL (см. главу 4). Для этого надо открыть запрос и выбрать Режим SQL (SQL View), например, в строке состояния.
Определение источника данных для запроса sql
Для выполнения запроса SQL нужно на вкладке ленты Конструктор (Design) в группе Результаты (Results) нажать кнопку Выполнить (Run). Выведется окно Администратора ODBC Выбор источника данных (Select Data Source) (рис. 8.12). В этом окне можно выбрать ранее созданный источник данных, содержащий сведения о сервере и базе данных, к которой делается запрос, или создать новый. Используя сведения из выбранного источника данных, Администратор выполняет подключение к базе данных. Если в выбранном источнике данных не указано доверительное соединение, у пользователя будет запрашиваться имя и пароль.
Рис. 8.12. Выбор источника данных для запроса SQL к базе данных сервера
Чтобы не выбирать источник данных при каждом выполнении запроса, пользователь может сохранить сведения о нем в свойстве запроса Строка подключения ODBC (ODBCConnectStr). Для этого нужно в режиме конструктора открыть окно свойств запроса, нажав на вкладке ленты Конструктор (Design) в группе Показать или скрыть (Show/Hide) кнопку Страница свойств (Property Sheet). В окне свойств запроса в поле параметра Строка подключения ODBC (ODBCConnectStr) ввести имя источника данных, например, для ссылки на пользовательский источник данных Поставка, созданный ранее, ввести ODBC;DSN=nоставка;.
Для ввода данных об источнике может быть использован построитель стирок подключения ODBC. Построитель для выбора источника данных выводит окно Администратора ODBC Выбор источника данных (Select Data Source) (рис. 8.12). Кроме того, построитель предлагает включить в строку подключения пароль пользователя (рис. 8.13).
Рис. 8.13. Диалоговое окно построителя строк подключения ODBC
Например, при выборе на вкладке Источник данных компьютера (Machine Data Source) пользовательского источника данных Поставка и утвердительного ответа на вопрос о сохранении пароля построитель введет в строку следующую запись:
0DBC;DSN=nocтавка;Description=База данных SOL
Server;UID=Администратор;DATABASЕ=ПоставкаTоваров;Trusted_Connection=Yes
Если в источнике данных укачано подключение с помощью проверки имени и пароля на SQL Server, то для всех запросов-подключений необходимо указывать имя пользователя и пароль для SQL Server. При выполнении запроса отображается диалоговое окно регистрации на SQL Server (рис. 8.14)
Рис. 8.14. Окно регистрации пользователя на сервере
По умолчанию значением свойства Строка подключения ODBC (ODBCConnectStr) является ODBC;. Это значение выводится в окне свойств и восстанавливается при удалении текущего значения. Даже если в свойстве не указана строка подключения, Access использует ODBC. В этом случае при каждом запуске запроса на выполнение будет выводиться диалоговое окно Выбор источника данных (Select Data Source) со списком имен всех источников данных ODBC (см. рис. 8.12), в котором надо выбрать необходимый для подключения к базе источник данных. Выбранный таким образом источник данных не сохраняется в строке подключения. Для сохранения строки подключения ее необходимо ввести в свойство запроса Строка подключения ODBC (ODBCConnectStr). При сохранении запроса строка подключения сохраняется вместе с ним.
Свойство Строка подключения ODBC (ODBCConnectStr) используется только в запросах к серверу.
Построитель устанавливает связь с нужным сервером базы данных SQL и прерывает связь после создания строки подключения ODBC.
Источник данных компьютера (Machine Data Source) доступен только пользователям одного компьютера. Однако, если на одном компьютере определено несколько учетных записей пользователя, источник доступен только пользователю, создавшему его. Каждый другой пользователь должен создавать свои источники данных. При работе нескольких пользователей с базой данных сервера целесообразно создавать Файловый источник данных (File Data Source), доступный с разных компьютеров сети.