Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проблема с ADOX


Автор: Antosha 12.11.2006, 17:28
Написал процедуру для создания базы данных, с помощью ADOX
Код


procedure TForm1.Button1Click(Sender: TObject);
var
      catalog: _catalog;  
      Table: _table;
      Column: _column;
begin
      Catalog:=CoCatalog.Create;
      Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=e:\1.mdb');
      Catalog.Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=e:\1.mdb');
end;

Прога нормально компилируется, но при выполнении процедуры происходит ошибка 
Project Project1.exe raised exception class EOleException with message 'невозможно найти устанавливаемый ISAM'
Помогите PLEASE!!!!!!

Автор: TaNK 12.11.2006, 19:08
вероятнее всего не правильно прописаны параметры подключения твокй БД

Автор: Antosha 12.11.2006, 20:48
А что конкретно не так? И что значит эта ошибка? smile 

Автор: TaNK 12.11.2006, 21:58
Цитата(Antosha @ 12.11.2006,  20:48)
А что конкретно не так? И что значит эта ошибка? smile

пройдись дебаггером и покажи где ошибка вылетает!
куда указывает на ошибку.

Автор: Antosha 13.11.2006, 09:41
Проверил, ошибка вылетает на строке
Код

Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=e:\1.mdb');

Знать бы что она значит, или хоть что такое ISAM smile 

Автор: TaNK 13.11.2006, 11:44
Цитата(Antosha @ 13.11.2006,  09:41)
Проверил, ошибка вылетает на строке
Код

Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=e:\1.mdb');

Знать бы что она значит, или хоть что такое ISAM smile

к базе правильный путь Data Sourse=e:\1.mdb

Автор: Antosha 13.11.2006, 12:51
Путь правильный! Вообще база должна создаваться. 
Может быть ошибка в этой строке:
'Provider=Microsoft.Jet.OLEDB.4.0;'? Или в настройках Delphi?
Потому что я попробовал програмно приконектиться к уже созданной базе
Код

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=e:\1.mdb;Persist Security info=true';

и получил ту же ошибку!

Автор: Savek 13.11.2006, 13:07
Попробуй в дизайн-тайме построить строку подключения и посмотри как она выглядит

Автор: TaNK 13.11.2006, 13:16
вот мой коннектион к базе Access 
Provider=MSDASQL.1;Persist Security Info=False;Data Source=Áàçà äàííûõ MS Access;Extended Properties="DSN=Áàçà äàííûõ MS Access;DBQ=Base\DB.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=Base\DB.mdb

Добавлено @ 13:18 
мне кажется Provider=Microsoft.Jet.OLEDB.4.0 по другому пишется без точек

Автор: Antosha 13.11.2006, 15:19
Проблема решена, я просто неправильно написал слово Source? Всем пасиба!

Автор: TaNK 13.11.2006, 15:58
пометь тему как решенная!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)