OleDbConnection cn = new OleDbConnection();
cn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=D:\BD\bd2\db2.mdb;" +
"Initial Catalog=t2;";
cn.Open();
cn.Close();
ADO.NET--OleDbConnection
Мне нужно «открыть соединение с хранилищем данных» (на C#).(Базу данных создавала в Access)
Пишу следующее:
Код:
Выдаётся в строке с Open ошибка:
«Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.»
Подскажите пожалуйста, что делалось неверно
Source=D:\\BD\\bd2\\db2.mdb
Цитата: Irene_001
Подскажите пожалуйста, что делалось неверно
Трудно сказать, ваша строка подключения выглядит корректной.
Попробуйте добавить это соедниение в Visual Studio. Откройте Server Explorer (в полной версии) или Database Explorer (в Express версии), из него можно создать подключение, далее в свойствах можно посмотреть его строку подключения.
Цитата: Mr. Iden
С C# не дружу, но на C++ такой код вызвал бы ошибку из-за использования символа \ вместо \\. Наверное правильнее будет
Source=D:\\BD\\bd2\\db2.mdb
Source=D:\\BD\\bd2\\db2.mdb
Если не дружишь, то чего отвечаешь? В C# есть verbaitm-string, префиксом которой является @, семантика его такова, что компилятор не применяет к строке эскейп-последовательностей.
так как подключение через OleDb, то "Initial Catalog=t2;" в строке подключения-- лишее. Если его убрать, то всё заработает
Код:
OleDbConnection cn = new OleDbConnection();
cn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=D:\BD\bd2\db2.mdb;"; // правильная строка
cn.Open();
..............
cn.Close();
cn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=D:\BD\bd2\db2.mdb;"; // правильная строка
cn.Open();
..............
cn.Close();
опять таки не берусь говорить что это 100% верно, но в этом случае у меня работает