varuncodee Ответов: 2

Когда я пытаюсь подключить свой проект C sharp к access 2010, он выдает ошибку "не удалось найти устанавливаемый ISAM"


When i try to connect my c sharp project to access 2010 it give error "Could not find installable ISAM" and i am using visual studio 2010. but when i use visual studio wizard for connection to database it works

Вот код файла App. config.
<pre><configuration>
  <appSettings>   
    <add key="connection" value="Provider=Microsoft.ACE.OLEDB.12.0; DataSource=C:\\Users\\Varun\\Documents\\InventoryManagement.accdb"  /> 
  </appSettings>
</configuration>


код файла Form1. cs

using (OleDbConnection con = new OleDbConnection(ConfigurationManager.AppSettings["connection"]))
{
       con.Open();
       OleDbCommand cmd = new OleDbCommand("SELECT * FROM Logg",con);
       OleDbDataReader dr = cmd.ExecuteReader();
       while (dr.Read())
       {
             txtUserName.Text = dr["User_name"].ToString();
       }
}


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

Я попробовал изменить целевую платформу на x86, x64, любая платформа ничего не работает.

Michael_Davies

Являются ли эти данные действительными? и не должно ли это быть источником данных, а не источником данных

Попробуй;

&ЛТ;добавить ключ="соединение" значение="поставщика=Майкрософт.Туз.Oledb для.12.0;Источник Данных=С:\\Пользователи\\Варуна\\Документы\ \ InventoryManagement. accdb" />

https://www.connectionstrings.com/access/

varuncodee

Все еще не работает.

varuncodee

я попробовал мастер visual studio для подключения, и он работает. Но вручную по коду это не работает.

2 Ответов

Рейтинг:
1

OriginalGriff

Проверьте драйвер ACE-если вы пытаетесь использовать БД office 2010 или выше, вам нужен ACE OLEDB V14, а не V12.
Во-вторых, "источник данных" в строке подключения должен быть "источником данных", а обратные косые черты в строке должны быть одинарными, а не двойными. Двойная обратная косая черта необходима только в том случае, если '\' является escape - символом для вашей строки, например в C#, а не в конфигурационных файлах.

Вы должны иметь возможность создать" рабочую " строку подключения с помощью файла UDL: Простое создание строки подключения SQL[^]- Я знаю, что он работает для SQL Server, но не пробовал его для MDB-файлов через ACE (и у меня нет ACE, установленного на этой машине).


Рейтинг:
0

varuncodee

Я просто копирую свою базу данных access с диска C: на диск D:, и она работает. У меня нет прав администратора в C: drive.


Dave Kreskowiak

Да. Чтобы открыть базу данных Access в вашем приложении, пользователь, выполняющий ваш код, должен иметь права на запись в папку, в которой находится файл базы данных.