Как базу данных access сделать sql?
Со временем в ходе может потребоваться перенос файл-серверной базы данных Microsoft Office Access (Access) в формат клиент-серверной СУБД. Обычно для этой цели используется ODBC. Однако для переноса в Microsoft SQL Server (MS SQL) СУБД Access и MS SQL имеют удобные специализированные средства.
Всего существует три способа переноса базы данных из Access в MS SQL. Рассмотрим их все на примере простой базы данных состоящей из двух таблиц и одного запроса.
Перенос базы данных средствами Access («Мастер преобразования в формат SQL Server»)
Для того чтобы начать перенос нужно нажать кнопку «SQL Server» в области «Перемещение данных» вкладки «Работа с базами данных».
В открывшемся окне нужно выбрать, куда будут перенесены данные.
Возможны два варианта:
- Экспорт в уже существующую базу данных MS SQL;
- Создание новой базы данных (по умолчанию).
Задаём имя сервера, на который будем переносить базу данных, имя создаваемой базы данных и указываем имя пользователя и пароль для подключения.
Далее предстоит выбрать таблицы, которые будут перенесены.
Для выбора одной таблицы служит кнопка «>», а для выбора всех таблиц кнопка «>>». Для того чтобы отказаться от переноса предназначены кнопки «
Дано
: установленный на каком-нибудь сервере MS SQL Server (например, версии 2014), у пользователей имеется MS Access 2016 (все в локальной сети).
Задача : редактировать данные в таблицах MS SQL Server через Access.
Когда может возникнуть такая задача: например, необходимо быстро создать UI (визуальный интерфейс) для редактирования данных в таблицах с доменным доступом.
Этапы :
1) Создаем базу данных в SQL Server (если ее не существует).
2) Создаем необходимые таблицы.
На этом этапе
важно задать ключевое поле таблицы (primary key):
Если этого не сделать, то при последующей линковке с Access вы потеряете возможность редактировать данные в таблице, она будет открываться только на чтение, а при попытке что-то изменить в строке состояния будет сообщение:
Объект Recordset не является обновляемым (This recordset is not updateable) 3) В Access создаем связь с таблицами.
Для этого на вкладке «
Внешние данные » выбираем «
База данных ODBC »
(см. видео ниже) .
В открывшемся окне выбираем «
Создать связную таблицу «.
В окне «
Выбор источника » — вкладка «
Источник данных компьютера «.
Если SQL источник не создан, то нажимаем «
Создать «. Если появится сообщение об ошибке административных прав, игнорируем его, нажав Ок.
Далее выбираем драйвер SQL Server и традиционно создаем источник, указав наименование сервера, учетные данные для подключения и базу по умолчанию.
После выбора источника нам предложат выбрать таблицы — выбираем все какие нужно и по нажатию ОК они будут подключены к Access.
4) Проверка работы связи.
Открываем любую подключенную таблицу и пытаемся редактировать или вносить данные. Если не получается, возвращается к пункту 2.
Если данные отредактировались и сохранились, проверяем, что они также изменились и в SQL Server.
Небольшой видеофрагмент, демонстрирующий описанные выше действия (3Мб, щелкните, чтобы увеличить):
В итоге при просмотре таблицы в MS SQL Server Management Studio увидим внесенные через Access данные.
Если при редактировании данных в Access возникает ошибка:
«Пока вы правили эту запись, она была изменена другим пользователем…» (This record has been changed by another user since you started editing it.) , то смотрите решение
здесь
.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
8.3K
31 августа 2004 года
nevea2001
4 / / 31.08.2004
всем привет, я человек, относительно далёкий от мира програмистов и компьтеро, единственное, что я знаю — это SQL, Access
у меня есть БОЛЬШОЙ вопрос: я сделала неплохую базу, но есть одна проьлема, может ли база ACcess быть многопользовательской??
как вообще моржно еёмодернизировать, имеет ли смысл переводить её на My SQL or SQL server??
помогите кто чем может бедной девушке, пытающейся победить компьютер:)
31 августа 2004 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by nevea2001
всем привет, я человек, относительно далёкий от мира програмистов и компьтеро, единственное, что я знаю — это SQL, Access
у меня есть БОЛЬШОЙ вопрос: я сделала неплохую базу, но есть одна проьлема, может ли база ACcess быть многопользовательской??
как вообще моржно еёмодернизировать, имеет ли смысл переводить её на My SQL or SQL server?? помогите кто чем может бедной девушке, пытающейся победить компьютер:)
Все зависит от задачи базы и от специфики работы. Вообще Access не многопользовательская СУБД. И для работы в сети она совершенно не предназначена. Конечно можно ее и настроить и запрограммировать вручную для работы в многопользовательском режиме. Но это как микроскопом гвозди забивать. Если нужна сетевая база данных, то выход один — SQL. Поскольку база уже есть в Access`е, то ее логично преобразовать к MS SQL Server.
8.3K
01 сентября 2004 года
nevea2001
4 / / 31.08.2004
спасибо за ответ,
теперь становится яснее, как это преобразовать??
мне нужно куписть сначала SQL server и установить его на компьютерах, а потом файл можно преобразоватьь автоматически или это делается с помощью каких-то кодов??
насколько это сложно вообще?
01 сентября 2004 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by nevea2001
спасибо за ответ,
теперь становится яснее, как это преобразовать??
мне нужно куписть сначала SQL server и установить его на компьютерах, а потом файл можно преобразоватьь автоматически или это делается с помощью каких-то кодов?? насколько это сложно вообще?
Покупается SQL Server. Ставится соответственно на сервер. У клиентов устанавливается ODBC драйвер баз данных SQL Server. Через него идет общение собственно с SQL сервером. Насколько я знаю, в поставке сервера все должно быть.
Преобразование баз Access к SQL выполняется путем импорта таблицы базы данных. Знаю только в теории. В 97 делается так. В Access меню файл-сохранить как/импорт-во внешней базе данных. Тип файла — базы данных ODBC. Далее выбирается существующий источник данных (SQL Server) или создается новый. На одном из следующих этапов Access подключится к серверу и перекинет туда таблицу. Так-же можно перекинуть и запросы. К сожалению я не могу рассказать более конкретно. Нету у нас SQL сервера. Аксеса полно. Я сам все мечтаю на SQL Server все перевести.
А работать с таблицами SQL можно и из аксеса. Только привязывается внешняя таблица и все.
8.3K
01 сентября 2004 года
nevea2001
4 / / 31.08.2004
Цитата:
Originally posted by Nick_M
Покупается SQL Server. Ставится соответственно на сервер. У клиентов устанавливается ODBC драйвер баз данных SQL Server. Через него идет общение собственно с SQL сервером. Насколько я знаю, в поставке сервера все должно быть.
Преобразование баз Access к SQL выполняется путем импорта таблицы базы данных. Знаю только в теории. В 97 делается так. В Access меню файл-сохранить как/импорт-во внешней базе данных. Тип файла — базы данных ODBC. Далее выбирается существующий источник данных (SQL Server) или создается новый. На одном из следующих этапов Access подключится к серверу и перекинет туда таблицу. Так-же можно перекинуть и запросы. К сожалению я не могу рассказать более конкретно. Нету у нас SQL сервера. Аксеса полно. Я сам все мечтаю на SQL Server все перевести.
А работать с таблицами SQL можно и из аксеса. Только привязывается внешняя таблица и все.
а SQL server дорого стоит??, он вообще есть в свободной продаже палёный, суть моего дела в том, что я хочу продать эту базу, она предназначена специально для поликлинники, но мне хочется сделать её более унивесальной и прогрессивной, начиная с таких мелочей, как собственный ярлык (бренд), демо версия, кстати можно ли её сделать в access??
онимаете о чём я??
спасибо, что отвечаете:)
01 сентября 2004 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by nevea2001
а SQL server дорого стоит??, он вообще есть в свободной продаже палёный, суть моего дела в том, что я хочу продать эту базу, она предназначена специально для поликлинники, но мне хочется сделать её более унивесальной и прогрессивной, начиная с таких мелочей, как собственный ярлык (бренд), демо версия, кстати можно ли её сделать в access?? онимаете о чём я?? спасибо, что отвечаете:)
Не понял, что значит «собственный ярлык»? В чем идея? Поподробней, плз.
А SQL Server стоит не то, чтобы дорого… около 200 тыс. рублей все удовольствие 🙂
8.3K
03 сентября 2004 года
nevea2001
4 / / 31.08.2004
Цитата:
Originally posted by Nick_M
Не понял, что значит «собственный ярлык»? В чем идея? Поподробней, плз.
А SQL Server стоит не то, чтобы дорого… около 200 тыс. рублей все удовольствие 🙂
а что палёный не продаётся?????
странно:(
поподробнее — короче, люди, которым я хочу всучить свою базу ничего не смыслят в программировании, они врачи:)))
им хочется увидеть что-то уникальное, чтобы они думали, что атакая прога есть только у них!!
для этого я хочу полностью изменить оболочку Аксесс, на столько, насколько это возможно
03 сентября 2004 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by nevea2001
а что палёный не продаётся?????
странно:( поподробнее — короче, люди, которым я хочу всучить свою базу ничего не смыслят в программировании, они врачи:)))
им хочется увидеть что-то уникальное, чтобы они думали, что атакая прога есть только у них!!
для этого я хочу полностью изменить оболочку Аксесс, на столько, насколько это возможно
Кудаж народу без паленых? 🙂 Конечно есть!
Полностью изменить оболочку Access не получится. Можно зделать что-то отдаленно напоминающее автономную программу. Это делается через формы и меню. Может получиться что-то типа этого.
03 сентября 2004 года
Nick_M
399 / / 29.05.2003
Ну и разумееться у них должен быть сервер, на котором должен стоять SQL Server
Но все-таки наилучшим выбором было-бы полностью отказаться от Access. Клиентские приложения можно сделать в Delphi или C++ Builder