![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ODBC Drivers создание базы данных [D7]
Alexander1966 © (2004-08-05 16:54:00)Надо програмно создать базу данных Access.
ADOX не поможет: для ODBC Drivers нет интерфейса.
sniknik (2004-08-05 18:09:00) [1]ODBC DSN это тоже не совсем база. ;о))
и все ради чего? ради того чтобы ошибки в своей программе не править... ;о)))
Alexander1966 (2004-08-05 18:03:00) [2]Все, нашел
http://www.sources.ru/delphi/delphi_create_systemdsn.shtml
46_55_41_44 (2004-08-05 17:44:00) [3]Да причем тут создание БД и создание таблицы...
Это две разные вещи!!!
Alexander1966 (2004-08-05 17:43:00) [4]Попробую, но я кажется вышел на след: надо использовать
ODBC API функцию: SQLConfigDataSource
sniknik (2004-08-05 17:28:00) [5]для jet-а разграничителями для нестандартных имен являются скобки для odbc двойные кавычки. ??? все понятно?
Alexander1966 (2004-08-05 17:21:00) [6]Этот пример я проверил, он действительно работает.
Но: сдесь используется: 'Provider=Microsoft.Jet.OLEDB.4.0
а надо:
Provider=MSDASQL.1; и там еще куча всего (строка создается при помощи редактора ADOConEd)
Почему надо? Потому,что при Provider=Microsoft.Jet.OLEDB.4.0
вылетает ошибка на следующей команде:
const
NAME_TABLE='log';
CREATE TABLE "'+NAME_TABLE+'" ('+
'CiscoName char(20),'+
'Line char(3) ,'+
'IPadress char(20),'+
'SessionStart float,'+
'SessionEnd float,'+
'OctetsInStart Integer ,'+
'OctetsOutStart Integer ,'+
'SpeedMaxIn Float ,'+
'SpeedMaxOut Float ,'+
'NameOriginal char(20));';
.....................................
.....................................
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(CREATE_TABLE);
ADOQuery1.ExecSQL;
А вот при Provider=MSDASQL.1; ошибки нет
46_55_41_44 (2004-08-05 17:11:00) [7]Если захочешь... напиши мне...
я тебе пришлю свою программку, в которой есть пример и создания БД и ее сжатия...
не сделал пока только репэйр.. просто не надо было... вот надо будет и это сделаю! :)
46_55_41_44 (2004-08-05 17:03:00) [8]ADOX как раз-таки поможет...
У меня была такая же проблема не давно....
var
AdoEngine: Variant;
Sbase : String;
begin
Sbase := 'Путь\Имя создаваемой Базы';
if FileExists(sBase) then exit;
AdoEngine:= CreateOleObject('ADOX.Catalog');
try
AdoEngine.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + sBase + ';Jet OLEDB:Engine Type=5;');
AdoEngine.ActiveConnection.Close;
finally
AdoEngine:= '';
end;