Меню

Как базу данных sql подключить к access

Таблицы Access остаются в доступе, но не обновляются вместе с SQL Server SQL Server или SQL Azure обновлениями. Your Access tables remain in Access, but are not updated together with SQL Server SQL Server or SQL Azure updates. После связывания таблиц и проверки функциональности может потребоваться удалить таблицы Access. After you link the tables and verify functionality, you might want to delete your Access tables.

Связывание таблиц доступа и SQL Server Linking Access and SQL Server tables

При связывании таблицы Access с SQL Server SQL Server таблицей или SQL Azureой ядро СУБД Jet сохраняет сведения о соединении и метаданные таблицы, но данные хранятся в SQL Server SQL Server или SQL Azure. When you link an Access table to a SQL Server SQL Server or SQL Azure table, the Jet database engine stores connection information and table metadata, but the data is stored in SQL Server SQL Server or SQL Azure. Такое связывание позволяет приложениям доступа работать с таблицами Access, даже если фактические таблицы и данные находятся в SQL Server SQL Server или SQL Azure. This linking allows your Access applications operate against the Access tables even though the actual tables and data are in SQL Server SQL Server or SQL Azure.

При использовании SQL Server SQL Server проверки подлинности пароль сохраняется в виде открытого текста в связанных таблицах Access. If you use SQL Server SQL Server Authentication, your password is stored in clear text on the linked Access tables. Рекомендуется использовать проверку подлинности Windows. We recommend using Windows Authentication.

Связывание таблиц To link tables

В окне Обозреватель метаданных Access выберите таблицы, которые необходимо связать. In Access Metadata Explorer, select the tables that you want to link.

Щелкните правой кнопкой мыши элемент таблицыи выберите команду связать. Right-click Tables, and then select Link.

SQL Server SQL Server Помощник по миграции (SSMA) для доступа создает резервную копию исходной таблицы Access и формирует связанную таблицу. Migration Assistant (SSMA) for Access backs up the original Access table and creates a linked table.

После связывания таблиц таблицы в SSMA отображаются с небольшим значком ссылки. After you link the tables, the tables in SSMA appear with a small link icon. В Access таблицы отображаются со значком «Linked» (связанный), который представляет собой глобус со стрелкой, указывающей на нее. In Access, the tables appear with a «linked» icon, which is a globe with an arrow pointing to it.

При открытии таблицы в Access данные извлекаются с помощью курсора KEYSET. When you open a table in Access, the data is retrieved using a keyset cursor. В результате для больших таблиц все данные не извлекаются одновременно. As a result, for large tables, all the data is not retrieved at one time. Однако при просмотре таблицы Access при необходимости получает дополнительные данные. However, as you browse through the table, Access retrieves additional data as necessary.

Чтобы связать таблицы Access с базой данных Azure, требуется SQL Server Native Client (SNAC) версии 10,5 или более поздней. To link access tables with an Azure database, you need SQL Server Native Client(SNAC) version 10.5 or above.
Последнюю версию SNAC можно получить с помощью пакета дополнительных компонентов Microsoft® SQL Server® 2008 R2. You can obtain the latest version of SNAC from Microsoft® SQL Server® 2008 R2 Feature Pack.

Отмена связи с таблицами доступа Unlinking Access tables

При разрыве связи таблицы доступа из SQL Server SQL Server таблицы или SQL Azureа SSMA восстанавливает исходную таблицу Access и ее данные. When you unlink an Access table from a SQL Server SQL Server or SQL Azure table, SSMA restores the original Access table and its data.

Отмена связи таблиц To unlink tables

В окне Обозреватель метаданных Access выберите таблицы, связь с которыми необходимо отменить. In Access Metadata Explorer, select the tables that you want to unlink.

Щелкните правой кнопкой мыши элемент таблицыи выберите команду Удалить связь. Right-click Tables, and then select Unlink.

Связывание таблиц с другим сервером Linking tables to a different server

Если таблицы Access привязаны к одному экземпляру SQL Server и в дальнейшем требуется изменить ссылки на другой экземпляр, необходимо повторно связать таблицы. If you have linked the Access tables to one SQL Server instance and you later want to change the links to another instance, you must relink the tables.

Связывание таблиц с другим сервером To link tables to a different server

В окне Обозреватель метаданных Access выберите таблицы, связь с которыми необходимо отменить. In Access Metadata Explorer, select the tables that you want to unlink.

Щелкните правой кнопкой мыши элемент таблицы и выберите команду Удалить связь. Right-click Tables and then select Unlink.

Подключитесь к экземпляру SQL Server SQL Server или SQL Azure, к которому необходимо привязать таблицы доступа. Connect to the instance of SQL Server SQL Server or SQL Azure to which you want to link the Access tables.

В окне Обозреватель метаданных Access выберите таблицы, которые необходимо связать. In Access Metadata Explorer, select the tables that you want to link.

Щелкните правой кнопкой мыши элемент таблицыи выберите команду связать. Right-click Tables, and then select Link.

Обновление связанных таблиц Updating linked tables

Если SQL Server SQL Server определения таблиц или SQL Azure изменены, можно удалить связь и повторно связать таблицы в SSMA, используя процедуры, приведенные ранее в этом разделе. If the SQL Server SQL Server or SQL Azure table definitions are altered, you can unlink and then re-link the tables in SSMA by using the procedures shown previously in this topic. Также можно обновить таблицы с помощью Access. You can also update the tables by using Access.

Обновление связанных таблиц с помощью Access To update linked tables by using Access

Откройте базу данных Access. Open the Access database.

В списке объекты выберите пункт таблицы. In the Objects list, click Tables.

Щелкните правой кнопкой мыши связанную таблицу, а затем выберите Диспетчер связанных таблиц. Right-click a linked table, and then select Linked Table Manager.

Читайте также:  Как подключить сервер майнкрафт к домену

Установите флажок рядом с каждой связанной таблицей, которую требуется обновить, а затем нажмите кнопку ОК. Select the check box next to each linked table that you want to update, and then click OK.

Возможные проблемы, возникающие после миграции Possible post-migration issues

В следующих разделах перечислены проблемы, которые могут возникнуть в существующих приложениях Access после переноса баз данных из Access в SQL Server SQL Server или SQL Azure, а также связывания таблиц вместе с причинами и решениями. The following sections list issues that might occur in existing Access applications after you migrate databases from Access to SQL Server SQL Server or SQL Azure and then link the tables, together with the causes and the resolutions.

Снижение производительности с помощью связанных таблиц Slow performance with linked tables

Причина: Некоторые запросы могут быть слишком длительными после изменения размера по следующим причинам. Cause: Some queries might be slow after upsizing for the following reasons:

Приложение зависит от функций, которые не существуют в SQL Server SQL Server или SQL Azure, в результате чего Jet извлекает таблицы локально для выполнения запроса SELECT. The application depends on functions that do not exist in SQL Server SQL Server or SQL Azure, which causes Jet to pull down tables locally to run a SELECT query.

Запросы, которые обновляют или удаляют много строк, отправляются Jet в качестве параметризованного запроса для каждой строки. Queries that update or delete many rows are sent by Jet as a parameterized query for each row.

Решение: Преобразуйте запросы, работающие с задержкой, к передаваемым запросам, хранимым процедурам или представлениям. Resolution: Convert the slow-running queries to pass-through queries, stored procedures, or views. Преобразование в сквозные запросы имеет следующие проблемы. Converting to pass-through queries has the following issues:

Передаваемые запросы не могут быть изменены. Pass-through queries cannot be modified. Изменение результата запроса или добавление новых записей должно осуществляться альтернативным способом, например путем явного изменения или добавления кнопок в форме, привязанной к запросу. Modifying the query result or adding new records must be done in an alternative way, such as by having explicit Modify or Add buttons on your form that is bound to the query.

Для некоторых запросов требуется ввод данных пользователем, но сквозные запросы не поддерживают ввод данных пользователем. Some queries require user input, but pass-through queries do not support user input. Вводимые пользователем данные могут быть получены кодом Visual Basic для приложений (VBA), который запрашивает параметры, или формой, используемой в качестве элемента управления вводом. User input can be obtained by Visual Basic for Applications (VBA) code that prompts for parameters, or by a form that is used as an input control. В обоих случаях код VBA отправляет запрос с вводом пользователя на сервер. In both cases, the VBA code submits the query with the user input to the server.

Столбцы с автоматическим приращением не обновляются, пока запись не будет обновлена Auto-increment columns are not updated until the record is updated

Причина: После вызова RecordSet. AddNew в Jet столбец с автоматическим приращением становится доступным до обновления записи. Cause: After calling RecordSet.AddNew in Jet, the auto increment column is available before the record is updated. Это неверно в SQL Server SQL Server или SQL Azure. This is not true in SQL Server SQL Server or SQL Azure. Новое значение нового значения столбца идентификаторов доступно только после сохранения новой записи. The new value of the identity column new value is available only after saving the new record.

Решение: Перед доступом к полю Identity выполните следующий код Visual Basic для приложений (VBA): Resolution: Run the following Visual Basic for Applications (VBA) code before accessing the identity field:

Новые записи недоступны New records are not available

Причина: При добавлении записи в SQL Server SQL Server таблицу или SQL Azureную с помощью VBA, если поле уникального индекса таблицы имеет значение по умолчанию и не присваивается значение этому полю, Новая запись не отображается до тех пор, пока таблица не будет снова открыта в SQL Server SQL Server или SQL Azure. Cause: When you add a record to a SQL Server SQL Server or SQL Azure table by using VBA, if the table’s unique index field has a default value and you do not assign a value to that field, the new record does not appear until you reopen the table in SQL Server SQL Server or SQL Azure. При попытке получить значение из новой записи появляется следующее сообщение об ошибке: If you try to obtain a value from the new record, you receive the following error message:

Run-time error ‘3167’ Record is deleted.

Решение: При открытии SQL Server SQL Server таблицы или SQL Azure с помощью кода VBA включите dbSeeChanges параметр, как показано в следующем примере: Resolution: When you open the SQL Server SQL Server or SQL Azure table by using VBA code, include the dbSeeChanges option, as in the following example:

Set rs = db.OpenRecordset(«TestTable», dbOpenDynaset, dbSeeChanges)

После миграции некоторые запросы не позволяют пользователю добавить новую запись. After migration, some queries will not allow the user to add a new record

Причина: Если запрос не включает все столбцы, включенные в уникальный индекс, то нельзя добавлять новые значения с помощью запроса. Cause: If a query does not include all columns that are included in a unique index, you cannot add new values by using the query.

Решение: Убедитесь, что все столбцы, включенные по крайней мере в один уникальный индекс, являются частью запроса. Resolution: Ensure that all columns included in at least one unique index are part of the query.

Невозможно изменить схему связанной таблицы с доступом You cannot modify a linked table schema with Access

Причина: После переноса данных и связывания таблиц пользователь не может изменить схему таблицы в Access. Cause: After migrating data and linking tables, the user cannot modify the schema of a table in Access.

Читайте также:  Как подключить увлажнитель воздуха

Функция гиперссылки потеряна после переноса данных Hyperlink functionality is lost after migrating data

Решение. Отсутствует. Resolution: None.

Некоторые SQL Server типы данных не поддерживаются в Access Some SQL Server data types are not supported by Access

Причина: Если впоследствии вы обновите SQL Server SQL Server таблицы или SQL Azure, чтобы они содержали типы данных, не поддерживаемые Access, то нельзя будет открыть таблицу в Access. Cause: If you later update your SQL Server SQL Server or SQL Azure tables to contain data types that are not supported by Access, you cannot open the table in Access.

Решение: Можно определить запрос доступа, возвращающий только строки с поддерживаемыми типами данных. Resolution: You can define an Access query that returns only those rows with supported data types.

Источник

Подключение Access к SQL Server

В главе 18 вы рассмотрели, как коллективно использовать вашу заслуживающую награды БД совместно с другими людьми. Для кого-то это блаженное состояние программы Access. Группы пользователей могут сотрудничать, бизнесмены — следить за ежедневным рабочим процессом и все трудятся с удовольствием ныне и присно. Для других многопользовательская поддержка БД — долгая головная боль, поскольку программа Access просто не в состоянии удовлетворить всех, кто хочет внести изменения в одно и то же время.

В этой главе вы познакомитесь с другим подходом, который позволяет преодолеть ограничения Access и совместно использовать ваши БД с гораздо более многочисленными груп­пами пользователей, у которых появится возможность существенно повысить интенсив­ность такого использования. Для этого нужно подключить программу Access к SQL Server, мощной серверной БД корпорации Microsoft. (Вернитесь к разд. «Access или SQL Sewer?» во введении, чтобы вспомнить разницу между серверными и клиентскими БД.)

Такое объединение обеспечит максимум возможностей. Вы сможете применять сверхна­дежный процессор БД (каковым является SQL Server) без отказа от удобного пользователь­ского интерфейса, облегчающего выполнение разнообразных задач (каковой является про­грамма Access). Самое замечательное заключается в том, что можно начать использование версии SQL Server, не потратив ни рубля.

Нужно ли переходить на SQL Server?

Как вы уже знаете, нет общего правила для определения, кто может успешно использовать многопользовательскую поддержку, а кто нет. Вы познакомились с предельными характе­ристиками — компания Fortune 500 с тысячами сотрудников, вероятно, не сможет исполь­зовать многопользовательскую поддержку Access, а команда со штатом 5 человек, занимаю­щаяся дизайном интерьера, не столкнется ни с какими проблемами — но для многих пользователей следует учитывать множество факторов.

Успех коллективного использования зависит от того, сколько пользователей нуждаются в одновременном внесении изменений, какова тенденция изменения объема обновлений, как долго записи остаются в режиме редактирования и каков общий объем хранимых дан­ных (например, огромными полями типа Memoи Вложениев многопользовательской БД управлять гораздо труднее, чем текстовыми и числовыми полями).

Некоторые факторы находятся вне пределов досягаемости программы Access — например, медленная или ненадежная сеть компании — что может разрушить коллективное использова­ние БД. В разд. «Как действует многопользовательская поддержка в Access» главы 18 дано не­сколько важных признаков, позволяющих определить, когда многопользовательской

поддержки недостаточно. Однако если БД Access устанавливается для маленькой компании, воз­можно, следует самостоятельно протестировать режим коллективного использования БД.

Если вы впервые сталкиваетесь с многопользовательским применением БД, некоторые характерные симптомы предупредят вас о том, что БД не справляется. Далее перечислены некоторые ключевые признаки опасности.

Ваши корректировки часто перекрываются с чьими-то еще. В этой ситуации программа Access каждый раз запрашивает, как устранить конфликт (см. разд. «Обработка конфликтов редактирования» главы 18). Это самая распространенная проблема, и хотя она не разрушит вашу БД, конфликтующие корректировки могут привести к тому, что ваши изменения будут постоянно искажаться или стираться кем-то, одновременно с вами обращающимся к БД.

Вы не можете редактировать нужные вам записи. Эта проблема возникает, когда программа Access применяет блокировки (см. разд. «Применение блокировок для предотвращения наложения обновлений» главы 18) для предотвращения одновременных изменений. Блокировки позволяют Access избежать проблем наложения корректировок, но за это приходится платить. Вся остальная обработка, использующая заблокированную запись, полностью прерывается. И снова эта ситуация не очень опасна — как последствия от приема тройной дозы аспирина.

Данные повреждаются. Эта ситуация одновременно и не столь частая, и очень серьезная. Несмотря на редкость ее возникновения (она становится все реже с каждым выходом новой версии программы Access), иногда она все еще случается. Вы понимаете, что у вас появилась проблема, когда в поле оказываются искаженные данные или когда Access выводит нелепое сообщение об ошибке (например «Слишком много индексов» («Too many indexes»)) при попытке открыть объект БД. В разд. «Повреждение данных» главы 18 дается объяснение проблемы и несколько советов, как ее обезопасить.

Примечание

Порча данных может произойти не по вине программы Access. Например, если у некоего со­трудника пропало сетевое соединение в середине процесса сохранения изменения, Access мо­жет оставить БД с многопользовательской поддержкой в неопределенном или противоречивом состоянии. Единственный способ предотвращения подобных проблем — применение мощной программы управления БД, работающей на сервере, которая выполняет всю работу. (Именно эта идея лежит в основе SQL Server. Когда используется SQL Server, никто не изменяет БД не­посредственно. Вместо этого пользователи создают вежливые запросы к постоянно работаю­щему процессору БД SQL Server, который затем делает эту работу безопасным и контроли­руемым образом.)

Итак, что же делать, если выяснилось, что многопользовательская поддержка не дает нужных результатов? Самый лучший вариант — использовать мощную серверную про­грамму управления БД, как SQL Server. Применение SQL Server, несомненно, добавит сложностей (вы потратите больше времени на се установку и проверку и наладку ее рабо­ты), но она обеспечит нерушимую поддержку безопасного и эффективного совместного ис­пользования БД.

Как работает SQL Server

Прежде чем вступить на территорию SQL Server, необходимо узнать немного больше о принципах работы этой программы. На рис. 20.1 показано взаимодействие программ SQL

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

Читайте также:  Как подключить электроплиту лысьва 301

Примечание

Это реальный принцип работы серверных БД, включая конкурирующие программные продук­ты, такие как Oracle и DB2. Однако у других БД нет отличной интеграции с программой Access, о которой вы узнаете в этой главе, поэтому клиентам приходится использовать другую клиент­скую БД (обычно специально разработанное приложение).

Рис. 20.1. SQL Server хранит БД с таблицами (и иногда запросами). БД Access играет роль клиентской части, содержащей все остальные объекты других типов (отчеты, формы, макросы и модули программного кода)

Данный рисунок может показаться знакомым — в конце концов, в той или иной степени он напоминает принцип действия многопользовательской поддержки в Access. Каждый пользователь получает копию клиентской БД с формами и отчетами, а серверная БД (действительно хранящая данные) находится на другом компьютере (сервере) и доступна всем.

Но есть и существенная разница. На территории SQL Server у отдельных клиентских БД меньше работы. Вместо самостоятельной модификации БД они связываются с программой SQL Server (которая не что иное, как Windows-программа, работающая в фоновом режиме на серверном компьютере). По сути, вы переводите программу Access на менее квалифицированную работу, понижаете в должности. Теперь она отвечает за привлекательный внешний вид, макросы и распечатки, но освобождена от действительно тяжелой работы (добавления, удаления и обновления записей).

Источник

Подключение к SQL Server (Акцесстоскл) Connecting to SQL Server (AccessToSQL)

Подключение будет SQL Server SQL Server оставаться активным до тех пор, пока проект не будет закрыт. Your connection to SQL Server SQL Server stays active until you close the project. При повторном открытии проекта необходимо повторно подключиться к, SQL Server SQL Server Если требуется активное соединение с сервером. When you reopen the project, you must reconnect to SQL Server SQL Server if you want an active connection to the server. Вы можете работать в автономном режиме, пока объекты базы данных не будут загружены в SQL Server SQL Server и не перенесены. You can work offline until you load database objects into SQL Server SQL Server and migrate data.

Метаданные экземпляра SQL Server SQL Server не синхронизируются автоматически. Metadata about the instance of SQL Server SQL Server is not automatically synchronized. Вместо этого для обновления метаданных в SQL Server обозревателе метаданных необходимо вручную обновить SQL Server SQL Server метаданные. Instead, to update the metadata in SQL Server Metadata Explorer, you must manually update the SQL Server SQL Server metadata. Дополнительные сведения см. в подразделе «синхронизация метаданных SQL Server» Далее в этом разделе. For more information, see the «Synchronizing SQL Server Metadata» section later in this topic.

Обязательные SQL Server разрешения Required SQL Server Permissions

Для учетной записи, используемой для подключения к, SQL Server SQL Server требуются другие разрешения в зависимости от действий, выполняемых учетной записью. The account that is used to connect to SQL Server SQL Server requires different permissions depending on the actions that the account performs:

Установка подключения SQL Server Establishing a SQL Server Connection

Перед преобразованием объектов базы данных Access в SQL Server SQL Server синтаксис необходимо установить соединение с экземпляром, на SQL Server SQL Server котором необходимо перенести базы данных Access. Before you convert Access database objects to SQL Server SQL Server syntax, you must establish a connection to the instance of SQL Server SQL Server where you want to migrate the Access databases.

Подключение к диспетчеру SQL Server SQL Server : To connect to SQL Server SQL Server :

В раскрывающемся меню Проверка подлинности выберите тип проверки подлинности, который будет использоваться для соединения. In the Authentication drop-down menu, select the authentication type to use for the connection. Чтобы использовать текущую учетную запись Windows, выберите Проверка подлинности Windows. To use the current Windows account, select Windows Authentication. Чтобы использовать имя SQL Server SQL Server входа, выберите SQL Server проверка подлинности, а затем укажите имя пользователя и пароль. To use a SQL Server SQL Server login, select SQL Server Authentication, and then provide a user name and password.

Нажмите кнопку Соединить. Click Connect.

Синхронизация метаданных SQL Server Synchronizing SQL Server Metadata

Если SQL Server SQL Server схемы изменяются после подключения, можно синхронизировать метаданные с сервером. If SQL Server SQL Server schemas change after you connect, you can synchronize the metadata with the server.

Чтобы синхронизировать метаданные SQL Server, SQL Server Обозреватель метаданных, щелкните правой кнопкой мыши базы данных и выберите синхронизировать с базой данных. To synchronize SQL Server metadata, SQL Server Metadata Explorer, right click Databases, and then select Synchronize with Database.

Повторное подключение к SQL Server Reconnecting to SQL Server

Подключение будет SQL Server SQL Server оставаться активным до тех пор, пока проект не будет закрыт. Your connection to SQL Server SQL Server stays active until you close the project. При повторном открытии проекта необходимо повторно подключиться к, SQL Server SQL Server Если требуется активное соединение с сервером. When you reopen the project, you must reconnect to SQL Server SQL Server if you want an active connection to the server. Вы можете работать в автономном режиме, пока объекты базы данных не будут загружены в SQL Server SQL Server и не перенесены. You can work offline until you load database objects into SQL Server SQL Server and migrate data.

Процедура повторного подключения к совпадает с SQL Server SQL Server процедурой установки соединения. The procedure for reconnecting to SQL Server SQL Server is the same as the procedure for establishing a connection.

Next Steps Next Steps

Если вы хотите настроить сопоставление между исходной и целевой базами данных, см. раздел сопоставление исходной и целевой баз данных в противном случае следующим шагом является преобразование объектов базы данных в SQL Server SQL Server синтаксис с помощью инструкции Convert Objects. If you want to customize the mapping between source and target databases, see Mapping Source and Target Databases Otherwise, the next step is to convert database objects to SQL Server SQL Server syntax using convert database objects.

Источник