Member 14519466 Ответов: 4

Могу ли я использовать один файл .mdf в нескольких проектах?


I have a project PROJECT_A which contains mdf file database. In the solution of this project I added one new project - PROJECT_B.

My question is:Can I use .mdf file from PROJECT_A in PROJECT_B?


Что я уже пробовал:

пробовал гугл, но не получил решения

4 Ответов

Рейтинг:
2

TheRealSteveJudge

Возможно, вы не ввели правильные критерии поиска.

Я ввел "mdf файл открыть несколько приложений"
и нашел
Как использовать один и тот же файл .mdf среди нескольких приложений ?[^]


Member 14519466

Привет Стив,

Возможно, вы также не ввели правильные критерии поиска.
Это не мое решение, которое я ищу

TheRealSteveJudge

Привет,
тогда я хотел бы извиниться.
Ваша проблема показалась мне очень похожей на ту, что описана в ссылке.
С уважением,
Стефан

Member 14519466

О, все в порядке, Стефан, не обращай внимания!

Рейтинг:
2

#realJSOP

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


Рейтинг:
1

Benktesh Sharma

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


Member 14519466

Проект а и Проект Б в одной машине

Benktesh Sharma

Это еще проще. Другое предложение состоит в том, чтобы создать третий проект (dll), который выполняет только чтение и запись базы данных и ссылается на эту dll из обоих проектов. Таким образом, вы можете масштабировать mdb до чего-то другого, и отдельным проектам не нужно будет беспокоиться о доступе к данным. Допустим, библиотека dll имеет класс ProcessData с функциями-членами для чтения/записи. Тогда оба проекта могут ссылаться на dll, а чтение и запись файлов могут обрабатываться в одном месте.

Рейтинг:
0

OriginalGriff

Да.
Но ... поскольку разные проекты в рамках одного и того же решения могут генерировать разные исполняемые файлы (они всегда генерируют разные сборки), вполне возможно, что эти два проекта будут обращаться к БД одновременно. Если это так, я бы настоятельно рекомендовал использовать SQL Server или MySQL вместо прямого доступа к файлу MDF. Хотя вы можете это сделать, это всегда давало мне некоторые трудные и прерывистые проблемы - серверная система баз данных предназначена для такого рода вещей.


Member 14519466

Привет OriginalGriff,

Мой клиент хочет получить сервисную базу данных(.mdf). Поэтому я не могу использовать SQL Server.

TheRealSteveJudge

Вы, кажется, поняли вопрос и дали хороший совет. 5*

Member 14519466

окей