Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

ODBC Drivers создание базы данных   Найти похожие ветки 

 
Alexander1966   (2004-08-05 16:54) [0]

Надо програмно создать базу данных Access.

ADOX не поможет: для ODBC Drivers нет интерфейса.


 
46_55_41_44 ©   (2004-08-05 17:03) [1]

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;


 
46_55_41_44 ©   (2004-08-05 17:11) [2]

Если захочешь... напиши мне...
я тебе пришлю свою программку, в которой есть пример и создания БД и ее сжатия...
не сделал пока только репэйр.. просто не надо было... вот надо будет и это сделаю! :)


 
Alexander1966   (2004-08-05 17:21) [3]

Этот пример я проверил, он действительно работает.

 Но: сдесь используется: "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; ошибки нет


 
sniknik ©   (2004-08-05 17:28) [4]

для jet-а разграничителями для нестандартных имен являются скобки для odbc двойные кавычки. ??? все понятно?


 
Alexander1966   (2004-08-05 17:43) [5]

Попробую, но я кажется вышел на след: надо использовать
ODBC API функцию: SQLConfigDataSource


 
46_55_41_44 ©   (2004-08-05 17:44) [6]

Да причем тут создание БД и создание таблицы...
Это две разные вещи!!!


 
Alexander1966   (2004-08-05 18:03) [7]

Все, нашел
http://www.sources.ru/delphi/delphi_create_systemdsn.shtml


 
sniknik ©   (2004-08-05 18:09) [8]

ODBC DSN это тоже не совсем база. ;о))
и все ради чего? ради того чтобы ошибки в своей программе не править... ;о)))



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1091929218
Logon
2004-08-08 05:40
2004.08.29
Что представляют из себя Log-On скрипты NT? (исполняемый файл?)


3-1091619833
vic
2004-08-04 15:43
2004.08.29
InsertRecord (ADOTable)


1-1092637990
1
2004-08-16 10:33
2004.08.29
События


1-1092317081
Nata
2004-08-12 17:24
2004.08.29
CopyFiles


1-1092385796
starik30
2004-08-13 12:29
2004.08.29
Многопоточность + FIBPlus