Миграция базы данных Microsoft Access в SQL Server 2014 - PullRequest
0 голосов
/ 02 ноября 2019

Я столкнулся с проблемой при попытке перенести базу данных Microsoft Access 2007 на SQL Server 2014 (у меня нет базы данных Access, и пользователь просто хочет перенести ее на SQL Server). Пожалуйста, помогите мне решить эту проблему.

Я пытался ..

1. Мастер импорта / экспорта SQL для переноса данных из БД доступа в базу данных SQL Server. 2. SSMA инструмент для миграции. 3. Также пытался следовать, используя метод ниже.

https://www.thoughtco.com/convert-access-database-to-sql-server-1019925

Использование SSMA ...... это говорит о том, что база данных Access защищена политикой рабочей группы ... хотя япри условии местоположения, имени пользователя и пароля, которые он не принимает.

Использование мастера импорта / экспорта SQL Server: он говорит, что у вас нет необходимых разрешений для использования объекта .mdb и у вашего системного администратора иличеловек, создавший этот объект, установит для вас соответствующие разрешения.

Использование Microsoft Access: он говорит, что закройте объекты, прежде чем продолжить действие.

Ответы [ 2 ]

2 голосов
/ 02 ноября 2019

Ну, у вас здесь много проблем.

Во-первых, вы говорите о политике рабочей группы или имеете в виду безопасность рабочей группы?

Существует МАССИВНАЯ и Маунт-Эверестразница между ними здесь.

Кроме того, поскольку вы отмечаете и упоминаете, что это файл mdb, вполне возможно, что безопасность рабочей группы Access существует и действует для этой базы данных.

Затем я сначала удалил бы безопасность рабочей группы, а затем мигрировал на сервер sql. Возможно, вы сможете использовать различные инструменты для работы с безопасностью рабочей группы, но для перемещения базы данных в незащищенную базу данных accDB потребуется всего 2-3 минуты.

И я рекомендую вам использовать Accdb,так как это то, с чем последние 10 лет SSMA были предназначены для работы.

Итак, вы не упоминаете, какая версия Access у вас здесь, но давайте предположим, что Access 2010.

Первое, что вам нужно сделать, это определить, КАКОЙ файл рабочей группы безопасности использует приложение или файл данных.

Самый простой способ - посмотреть на ярлык приложения, который они используют для запуска приложения. Фактически, если нет форм запуска, просто запустите приложение (удерживайте нажатой клавишу Shift, чтобы предотвратить запуск форм). Если вы используете ярлык, который также включает в себя файл рабочей группы, то на этом этапе вы вошли в систему и подключились к этой базе данных mdb, а также в правильный файл рабочей группы. На самом деле, если при запуске приложения вы получаете логин пользователя и пароль, то вы можете быть достаточно уверены, что база данных использует безопасность рабочей группы.

Ключевой концепцией здесь является обеспечение использования правильной рабочей группы. файл (.mdw), который сопоставляется с файлом mdb.

После того, как вы вошли в систему и, конечно, нажали клавишу Shift, вы должны быть в интерфейсе / интерфейсе приложения полного доступа. В этот момент вы подключены к файлу рабочей группы. Так что просто закройте базу данных, но НЕ выходите из доступа. Причина в том, что вы останетесь подключенным к файлу рабочей группы. На этом этапе создайте новый пустой файл accdb. Теперь просто импортируйте все таблицы данных из старого файла mdb в этот новый файл accDB, который вы только что создали (и который все еще открыт в доступе). Поскольку вы все еще подключены к файлу рабочей группы, у вас не должно возникнуть проблем с импортом всех таблиц из файла mdb в файл AccDb. Ключевой концепцией здесь является то, что вам нужно присоединиться и стать частью этого правильного файла рабочей группы. Но создание нового файла accDB не будет защищено (несмотря на то, что вы все еще подключены к файлу рабочей группы).

В этот момент вы можете выйти из доступа. Теперь перезапустите доступ (вы больше не подключены к файлу рабочей группы - так что никаких запросов на вход в систему не должно происходить. А теперь взгляните, есть ли в таблице данные - они, вероятно, будут.

Итак,Теперь на данный момент у вас есть обычный и незащищенный файл accDB. Теперь вы можете свободно переносить данные на сервер SQL. Я предлагаю использовать SSMA, так как он имеет массу функций, которые вам необходимы. Можно использовать и другие методы, которые вы пытались использовать, но SSMA сохранит ваши индексы и, что более важно, ваши отношения между данными в целости и сохранности после миграции на сервер sql. Необходимость повторного создания индексов gazillion и настройка отношений между таблицами - большая работаи только SSMA действительно сохраняет все эти данные в целости и сохранности во время миграции на сервер sql.

Однако также не ясно, есть ли у вас также только формы данных, код, отчеты?

Не думаю, что нужно указывать, что формы, отчеты, код, VBA - это НЕ база данных, но СЕЙЧАСПо поводу разрабатываемого приложения. Я также воздерживаюсь от указания на то, насколько безумно НЕ различать данные или миграцию базы данных и создание или исправление приложения, предназначенного для работы с доступом, который теперь должен работать с SQL-сервером.

К бСправедливо, если у вас есть опыт выполнения таких миграций, то вы точно знаете, что искать, и именно то, что требуется для того, чтобы приложение Access, предназначенное для работы с файлом mdb, теперь работало с сервером SQL. В зависимости от того, насколько велико приложение, что будет определять объем работы части приложения и какие изменения потребуются.

Таким образом, миграция данных, как правило, довольно проста, а с такими инструментами, как SSMA, это наиболее просто.

Однако теперь, когда вы мигрировали часть данных (легко), начинается значительный объем работы по настройке части приложения для работы с SQL-сервером, и для этого вам лучше иметь довольно неплохие навыки доступа.

Также неясно, есть ли у вас файл mdb для форм, отчетов и САМОГО важного кода VBA, поскольку вам нужны не только навыки, чтобы глубоко погрузиться в код приложения, но вам также нужен «исходный» код иливозможность просматривать и изменять код за формами. Я задаю этот вопрос, поскольку часто разработчик может установить специальный пароль, который ТОЛЬКО позволяет им изменять формы и код, но любой другой пользователь может использовать только формы и т. Д.

Миграция данных из Access to SQL или миграцияПередача данных из Oracle в SQL-сервер довольно проста. В конце концов, вы просто перемещаете таблицы данных.

Однако реальная проблема, реальная проблема и реальная проблема - после того, как вы перенесли данные на сервер SQL, какие инструменты и программное обеспечение вы планируете использовать дляработать с теми данными, которые сейчас находятся на сервере SQL?

Так что не ясно, является ли это ПРОСТО проектом миграции данных для перемещения некоторых таблиц данных Access?

Или этот проект также включает сторону разработчика (программного обеспечения) вещей, в которых вы ТОГДА нуждаетесьнекоторое рабочее программное обеспечение для работы с сервером SQL. Инструменты для перемещения данных автоматизированы и не требуют много времени. Но часть приложения и части программного обеспечения являются ручными, трудоемкими и требуют навыков разработчика Access.

0 голосов
/ 02 ноября 2019

У меня была такая же ситуация, как и у вас. База данных Access, которую мы создали, была приобретена компанией, которая больше не занимается бизнесом. Если все, что вам нужно, это импортировать данные (а не подключать старую базу данных Access к SQL Server), создайте новую базу данных доступа и подключите ее к старой базе данных. Сделав это, я смог увидеть и связать таблицы в заблокированной базе данных. Оттуда вы можете импортировать их из новой базы данных в SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...