VS2010, Windows Forms, BLToolkit (last snapshot), dBASE III
Доброго времени суток!
Совсем недавно стал осваивать BLToolkit. Библиотека очень понравилась и основы работы с ней быстро усвоились. Собрал проект, работающий с базой MySQL — все здорово. Но теперь столкнулся с проблемой...
Итак, имеем директорию, внутри которой находятся несколько каталогов. Внутри них — DBF-таблицы формата dBASE III.
Раньше я работал с ними посредством OleDbConnection и никаких проблем не возникало. Теперь же, привыкнув к хорошему, решил пересобрать проект с использованием BLToolkit.
В файле app.config добавил следующие строки:
<appSettings>
<add key="ConnectionString.OleDb.Dir1" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Temp\Dir1;Extended Properties=dBASE III;User ID=Admin;Password="/>
</appSettings>
Хотя изначально пробовал вот так:
DbManager.AddConnectionString("OleDb.Dir1", String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\Dir1;Extended Properties=dBASE III", rootDir));
DataContext объявляется вот так:
public DataContext() : base("OleDb", "Dir1") { }
В коде софтины пишу:
DataContext db = new DataContext();
List<DBFUser> usersList = db.UsersAccessor.GetUsersList();
Получаю NonSupportedExeption вот на это:
public abstract class UsersAccessor : DataAccessor<DBFUser>
{
public List<DBFUser> GetUsersList()
{
return new SqlQuery<DBFUser>().SelectAll();
}
}
Попытка посмотреть дебагером имеющиеся объекты ни к чему не привела — везде лишь "выдал исключение".
При этом соединение как таковое якобы открывается:
using (DbManager db = new DbManager("OleDb", "Dir1"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
// Вот до сюда оно доходит и идет дальше. Говорит, что соединение открыто (хоть и не верится)
}
Что особенно печально, даже при открытом соединении в db.Connection.Database — пустая строка.
Если есть какие-нибудь идеи — подайте пожалуйста. Базы живые. Обычным OleDbConnection с ними можно связаться и работать.
В данный момент пытаюсь откомпилировать сырцы BLToolkit (пока компилироваться отказываются), чтобы получить более связную информацию из дебагера. Но, если кто-нибудь сможет объяснить в чем я не прав и помочь советом — буду премного благодарен.
Спасибо!
24.01.11 05:35: Перенесено из '.NET'