подключение БД доступа к VS с использованием C #

1

Это первый раз, когда я использую соединение С# с db, также я не использую доступ. Я просто хочу знать начальные шаги, необходимые для подключения доступа db к Visual Studio С# windows application. Я искал в Интернете, Он очень помог. Я не могу найти свою ошибку в коде. Я думаю, что мне не хватает некоторых шагов в установлении связи с db.

вот ошибка, возникающая при попытке запустить программу "\ f38910\Users\kainat.baig\Desktop\AAA\Database101" не является допустимым путем. Убедитесь, что имя пути написано правильно и что вы подключены на сервер, на котором находится файл. "

КОД:

OleDbConnection bookConn;
OleDbCommand oleDbCmd = new OleDbCommand();

String connParam = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= \\f38910\Users\kainat.baig\Desktop\AAA\Database101; Persist Security Info=False";

    public Form1()
    {
        bookConn = new OleDbConnection(connParam);
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        bookConn.Open(); //*ERROR LINE
        oleDbCmd.Connection = bookConn;


        bookConn.Close();
     }
Теги:
database

2 ответа

0
Лучший ответ

Вы забываете добавить .mdb после имени базы данных или .accdb если вы используете базу данных Microsoft Office Access 2007 или выше, но для этого вам также нужно изменить Поставщика.

String connParam = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= \\f38910\Users\kainat.baig\Desktop\AAA\Database101.mdb; Persist Security Info=False";

Или вы можете использовать строку подключения, как это

String connParam = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\f38910\Users\kainat.baig\Desktop\AAA\Database101.mdb;User Id=admin;Password=;"

Редакция:

для ACCESS 2010

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\f38910\Users\kainat.baig\Desktop\AAA\Database101.accdb"
  • 0
    Jet.OLEDB.4.0 не может открыть файл .accdb
  • 0
    тогда это должно быть .mdb
Показать ещё 7 комментариев
1

Сначала ваше имя файла не имеет имени расширения файла, такого как .mdb

 Database101\MyDB.mdb

Во-вторых, если он в сети. Было бы лучше, если бы вы net use первую очередь приглашение DOS для указания буквы диска для вашей сети, например:

 net use z: \\f38910\Users\kainat.baig\Desktop\AAA\Database101 your_password /USER:your_account

Тогда ваша строка соединения будет короче:

 String connParam = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= z:\MyDB.mdb; Persist Security Info=False";

Если расширение файла, кстати, .accdb вместо .mdb должно быть:

 String connParam = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=z:\MyDB.mdb;;Persist Security Info=False;"

Или просто ваш путь просто неправильный.

Перейдите в Windows Explorer и просто нажмите на путь, где находится ваш файл, и скопируйте его.

  • 0
    если f38910 - сетевой компьютер, то он должен быть запущен с \\.
  • 0
    Вы правы @Shell. Я обновлю.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню