#c_sharp #база_данных #access
База данных в access, .mdb (97-2003г) При подключении к базе данных использую следующую конструкцию public OleDbConnection con1 = new OleDbConnection(); public OleDbCommand cmd1 = new OleDbCommand(); public void loadDb() { con1.ConnectionString = Data.connectionString; cmd1.Connection = con1; } где Data.connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\db.mdb"; Проверяю, есть ли подключение таким способом: public bool checkCon(OleDbConnection con) { try { con.Open(); con.Close(); return true; } catch { return false; } } На моем пк подключение работает исправно. У преподавателя пишет, что не может цепануться к бд. (Но у него Access есть на компьютере, однако отсутствует visual) У знакомых некоторых цепляется (у них тоже установлен acess, visual studio) У других подключение не создается. (нет access"a, нет visual studio) Собственно, как быть? Быть может ConnectionString изменить? Использовать более старые драйвера или как.
Ответы
Ответ 1
Вроде как сам разрешил проблему, корявенько конечно, ну как умею %) Для начала воспользовался информацией про connectionString https://www.connectionstrings.com/access/ Затем, Data.connectionString у меня формируется таким способом: StreamReader s = File.OpenText(Application.StartupPath + "\\path.txt"); Data.connectionString = s.ReadLine(); s.Close(); Data.connectionString = Data.connectionString + Application.StartupPath + "\\db.mdb"; Где path.txt содержит одну строку: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Ответ 2
Так у Вас в решении ответ на Ваш вопрос. Если Вы в первом случае измените "Provider=Microsoft.ACE.OLEDB.12.0" на "Provider=Microsoft.Jet.OLEDB.4.0" все должно работать. В первом случае вы указываете что у Вас Access 2012 (по-моему, если не ошибаюсь), а во-втором (Jet.OLEDB.4.0) Вы указываете на Access 97-2003. Начиная с Access 2007 там большие изменения произошли.... Я боюсь напутать в версиях, но Microsoft.ACE.OLEDB.12.0 ставится, по-моему, с Net.Framework 4.5..., а Microsoft.Jet.OLEDB.4.0 стоит даже на ХР.
Комментариев нет:
Отправить комментарий