Как изменить путь к базе данных access

Hello everyone,
  • Remove From My Forums
  • Question

  • Hello everyone,

    I use MS Visual Studio 2015 and MS Access 2016

    I’ve already a database in Access 2016. I created a link to Visiual Studio.

    I’ve one combobox on Form1

    When I use the button Start, Form1 will shown. But when I close this all and went to the path where I can see my program in .EXE. There start this .EXE-file, I’ll get a message about the path about my Access-file (.accdb). It’s watching in the same file
    where I have my .ExE-file.

    I like to have my .accdb in an other path. Is this posible? So yes how?

    Beste regards,

    Frits

Answers

  • Hi Frits,

    >>Do I understand wel? I have to change App.Config? I have the next lines there in it.

    If you want to modify the database’s path, you should modify the connection string. In addition, you could add Multiple connection string to the app file.

    >>Where do I have to fill in the lines from //Use(get connection string) ?

    About the connection string you could refer to the following link:

    Access connection strings

    Regards,

    Moonlight

    Note: This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these
    sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to
    make sure that you completely understand the risk before retrieving any software from the Internet.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    Click
    HERE to participate the survey.

    • Marked as answer by

      Wednesday, April 13, 2016 6:59 AM

    • Unmarked as answer by
      Frits van Leeuwen
      Wednesday, April 13, 2016 6:59 AM
    • Marked as answer by
      Frits van Leeuwen
      Wednesday, April 13, 2016 7:00 AM

  • Remove From My Forums
  • Question

  • Hello everyone,

    I use MS Visual Studio 2015 and MS Access 2016

    I’ve already a database in Access 2016. I created a link to Visiual Studio.

    I’ve one combobox on Form1

    When I use the button Start, Form1 will shown. But when I close this all and went to the path where I can see my program in .EXE. There start this .EXE-file, I’ll get a message about the path about my Access-file (.accdb). It’s watching in the same file
    where I have my .ExE-file.

    I like to have my .accdb in an other path. Is this posible? So yes how?

    Beste regards,

    Frits

Answers

  • Hi Frits,

    >>Do I understand wel? I have to change App.Config? I have the next lines there in it.

    If you want to modify the database’s path, you should modify the connection string. In addition, you could add Multiple connection string to the app file.

    >>Where do I have to fill in the lines from //Use(get connection string) ?

    About the connection string you could refer to the following link:

    Access connection strings

    Regards,

    Moonlight

    Note: This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these
    sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to
    make sure that you completely understand the risk before retrieving any software from the Internet.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    Click
    HERE to participate the survey.

    • Marked as answer by

      Wednesday, April 13, 2016 6:59 AM

    • Unmarked as answer by
      Frits van Leeuwen
      Wednesday, April 13, 2016 6:59 AM
    • Marked as answer by
      Frits van Leeuwen
      Wednesday, April 13, 2016 7:00 AM

1 / 1 / 0

Регистрация: 20.12.2014

Сообщений: 72

1

MS Access

Изменить путь базы

28.04.2015, 09:32. Показов 6712. Ответов 4


Использую:
Microsoft Visual Studio 2012
.NET 2.0

MsAccess 2003

Привязывал базу к проекту визуальными средствами.

Появился вопрос, как можно сделать в программе настройку пути базы данных?
т.е. мне нужно изменить путь к базе данных и сохранится ли он при следующем запуске программы или придется создавать файл конфигурации.

Буду очень благодарен за помощь :-)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



54 / 48 / 31

Регистрация: 14.04.2015

Сообщений: 273

28.04.2015, 09:36

2

Если я не ошибаюсь, то в образователе решений есть файл с именем app.config там то и прописываеться путь к БД
самый оптимальный вариант, закинуть БД в папку где лежит exe’ шник и в app.config изменить путь до туда примерно выглядить будет так:

connectionString=»Provider=Microsoft.Jet.OLEDB.4.0 ata Source=|DataDirectory|ipr_code.mdb

путь можно указывать не полный если БД лежит в папке Debug или как то так точно не помню…



0



1 / 1 / 0

Регистрация: 20.12.2014

Сообщений: 72

28.04.2015, 09:39

 [ТС]

3

Мне необходимо динамически изменять путь к бд в самой программе.



0



Nipoka

2 / 2 / 0

Регистрация: 29.09.2012

Сообщений: 20

28.04.2015, 16:58

4

Тоже интересует сей вопрос.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        OpenFileDialog ofd = new OpenFileDialog();
        string filename = null;
        private void btn_ofd_Click(object sender, EventArgs e)
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                filename = ofd.FileName;
            }
        }
    }
    static class Connect  //!
    {
        public static string ConnectionValue = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:DBbaza2.accdb;
            Persist Security Info=False;";
    }

Собственно вместо Data Source=C:DBbaza2.accdb; пробовал ставить наподобие Data Source='» + filename + «‘ и дальше продолжение строки, но так это конечно же не работает. filename не видит, пишет что filename не существует в данном контексте.
Класс использую для того что бы передавать строку в другие формы и не писать каждый раз подключение в каждой форме. Изменяя одну строку в одной форме изменяется путь подключения и в других формах, т.е. не нужно каждый раз в каждой форме прописывать. Написал сумбурно, но надеюсь понятно.



0



Nipoka

2 / 2 / 0

Регистрация: 29.09.2012

Сообщений: 20

30.04.2015, 15:16

5

Проблему решил следующим образом:
Создаем класс ( дальше просто можно делать ссылку на него с любой формы, повторять НЕ НУЖНО! ).

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    static class Connection 
    {
        public static string Value; 
        public static string Connect()
        {
            OpenFileDialog ofd = new OpenFileDialog();
            string filename = null;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                filename = ofd.FileName;
            }
            Value = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+filename+";Persist Security Info=False;";
            return Value; 
        }

Соответственно наша кнопка, при нажатии на которую будет открываться окно выбора файла:

C#
1
2
3
4
5
        private void btn_ofd_Click(object sender, EventArgs e)
        {
            Connection.Connect();
            connection.ConnectionString = Connection.Value; 
        }

Можно выбрать файл один раз и использовать его в дальнейшем на других формах с помощью такой ссылки:

C#
1
connection.ConnectionString = Example.Connection.Value;

Example — это ваш namespace ( идет сразу после using… )
Вставить эту строчку необходимо сразу после

C#
1
InitializeComponent();



2



Я немного не в себе по этому поводу. Я работаю в налоговой фирме веб-разработчиком. У них есть старая база данных доступа со всей их информацией, и она застряла на одном довольно старом компьютере, который выходит из строя. Я сделал базу данных php с веб-интерфейсом, чтобы заменить ее, но ему не удается заставить своих рабочих переключиться на нее.

Поэтому он поручил мне найти способ перенести базу данных на новый компьютер.

Я никогда раньше не пользовался доступом, и, несмотря на мои протесты в адрес моего работодателя, что было бы проще просто нанять кого-нибудь онлайн за двадцать долларов, эта задача ложится на меня.

Я рассказываю эту историю, чтобы вы простили мое незнание технических терминов, связанных с доступом.

Какие шаги необходимо предпринять, чтобы переместить базу данных на другой компьютер и сообщить ему новое местоположение ее собственных данных (а также позволить удаленным клиентским копиям узнать, где находятся данные).

2 ответа

Лучший ответ

Основной процесс — переместить базу данных в новую общую папку. Однако «часто» для любого многопользовательского приложения Access приложение делится на две части.

Так называемый Front End (FE) находится на каждом компьютере. Это часть пользовательского интерфейса, которая продолжает код приложения и формы / отчеты.

Так называемый Back End (BE), который размещается в / в общей папке на сервере. Это ТОЛЬКО таблицы данных — без кода или форм (без частей пользовательского интерфейса).

В Access есть встроенный разделитель, который разделяет типичное приложение на эти две части.

FE и BE являются обычными файлами mdb или с 2007 года файлами accDB. Если местоположение (имя пути UNC) серверной части изменено, то FE необходимо повторно связать с новым местоположением BE. Это достигается с помощью менеджера связанных таблиц. Как уже отмечалось, если приложение НЕ разделено, то достаточно просто переместить текущее приложение в новую общую папку, и никакого кода или изменений в приложении не потребуется.

Итак, ваш первый шаг — определить, разделена ли база данных. Настоятельно рекомендуется разделить любое приложение Access, работающее как «файловый ресурс».

В качестве долгосрочного подхода в будущем вы можете переместить таблицы внутренних данных на сервер MySQL или SQL и ПРОДОЛЖИТЬ использовать существующий FE (часть приложения).


2

Albert D. Kallal
14 Авг 2014 в 23:07

Насколько мне известно, базы данных Access хранятся в одном файле (с расширением .accdb), поэтому вы можете переместить этот файл только в новое место.

Однако необходимо соблюдать некоторые меры предосторожности:

  • Используется ли база данных в качестве источника данных ODBC? Вам нужно будет изменить DSN, чтобы он указывал на новое местоположение
  • Это реплицируется? Когда вы копируете реплицированную базу данных доступа, вы должны сделать ее новым основным дизайном.
  • Содержит ли файл доступа таблицы, связанные с другими базами данных? Вы должны быть уверены, что эти связанные таблицы доступны в новом месте.
  • Является ли файл доступа источником связанных таблиц, используемых в других файлах? Вам необходимо убедиться, что все эти файлы указывают на новое расположение файла доступа.

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

Лично я рекомендую вам перейти на более надежную платформу (например, MySQL или PostgreSQL) и перенести туда свои данные.


0

Barranka
14 Авг 2014 в 21:46

Понравилась статья? Поделить с друзьями:
  • Как изменить пункты договора
  • Как изменить путь к базе sql
  • Как изменить пункт управления на айфоне
  • Как изменить путь к админке wordpress
  • Как изменить пункт управления на iphone