Как скопировать файл .mdb в файл .mdf - PullRequest
1 голос
/ 15 июля 2011

Я хочу скопировать базу данных MS Access (.mdb) в базу данных сервера sql (.mdf). Я сделал это с sql server Служба импорта и экспорта данных . Но я хочу, чтобы он копировал данные регулярно или в определенное время. Это возможно или нет. Я попытался создать командный файл

copy /y "E:\Dinesh Work\for-reports.mdb" "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\for-reports.mdf" 

но выдает следующую ошибку:

The process cannot access the file because it is being used by another process.

В моей базе данных сервера sql есть те же таблицы, что и в базе данных msaccess. Есть ли какое-нибудь решение с командным файлом или чем-то еще.

Любое предложение будет оценено.
Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 15 июля 2011

Звучит так, будто вы хотите использовать базу данных Access для редактирования данных в базе данных SQL Server.
Это правильно?

Если да, вам действительно нужно copy данные?
Вы также можете ссылаться из Access на таблицы SQL Server.

Таким образом, у вас в Access есть таблицы, которые выглядят как обычные локальные таблицы Access, но на самом деле это просто ссылки на таблицы SQL Server.Вы можете редактировать данные в этих таблицах в Access, но на самом деле вы пишете непосредственно в базу данных SQL Server.

Вот несколько примеров, как это настроить:
Ссылка на данные SQL Server
Доступ к SQL Server: связывание таблиц

1 голос
/ 15 июля 2011

Как сказал @Yuck, вы не можете просто скопировать файл и переименовать его, вам нужно что-то вроде ETL или просто инструмент для экспорта данных.

Я сделал xportdsl для копирования из h2database в mssql и mssql в oracle http://code.google.com/p/xportdsl/

Я использовал gorm и хакерский dsl, который работал и работает до сих пор

Вы можете написать скрипт в bat-файле для выполнения чего-то подобного java -jar xportdsl.jar test001.txt

1 голос
/ 15 июля 2011

MDB и MDF файлы очень разных типов.Вы не можете просто скопировать их.

Вы можете попытаться настроить задачу SSIS для регулярной передачи данных - что-то вроде ETL, если вы знакомы с этим термином.

РЕДАКТИРОВАТЬ . Причина, по которой вы видите ошибку блокировки файла, заключается в том, что SQL Server поддерживает эту блокировку для файла MDF во время работы базы данных.Чтобы переместить или скопировать ее, вам нужно перевести эту конкретную базу данных в автономный режим.

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