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

Вниз

Как мне в delphi запустить импорт базы данних   Найти похожие ветки 

 
cchiko   (2009-01-25 23:34) [0]

Как мне в delphi запустить импорт базы данних.

Обычно я делаю так
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe --user=root < с:\db.sql

Как мне запустить на выполнение такую строчку дос комманды?


 
Германн ©   (2009-01-26 02:11) [1]


> Как мне запустить на выполнение такую строчку дос комманды?

А причём тут конференция "Базы", если вопрос о том "Как мне запустить на выполнение такую строчку дос комманды?"
P.S.
Команда пишется с одной "м".


 
KilkennyCat ©   (2009-01-26 02:40) [2]

Коммандос - с двумя :)

WinExec


 
Германн ©   (2009-01-26 02:47) [3]


> KilkennyCat ©   (26.01.09 02:40) [2]
>
> Коммандос - с двумя :)
>

Голливуд идёт лесом. Святым или или ещё каким - это мне не интересно.
:)
CreateProcess


 
cchiko   (2009-01-26 13:02) [4]


> CreateProcess


Я использую CreateProcess но ничего не выходит, окно открывается и сразу закрывается, я даже не могу рассмотреть что там за ошибка, но вроди как ошибка в команде, потому что, чтото похожее выдает mysql.exe когда не верно введена команда - справку с описанием всевозможных параметров. КОгда я делаю это вручную все зрабатывает нормально.
Привожу исходный код:

function ExecAndWait(const FileName, Params: ShortString; const WinState: Word;): boolean; export;
var
 StartInfo: TStartupInfo;
 ProcInfo: TProcessInformation;
 CmdLine: ShortString;
begin
 CmdLine := """ + Filename + "" " + Params;
 FillChar(StartInfo, SizeOf(StartInfo), #0);
 with StartInfo do
 begin
   cb := SizeOf(StartInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := WinState;
 end;
 Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
                         CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
                         PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
 if Result then
 begin
   WaitForSingleObject(ProcInfo.hProcess, INFINITE);
   CloseHandle(ProcInfo.hProcess);
   CloseHandle(ProcInfo.hThread);
 end
 else
 begin
    ShowMessage("Error");
 end;
end;

Вызов этой функции происходит так:
ExecAndWait("C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"," --user=root < " + ExtractFilePath(Application.ExeName) + "db_dump.sql",sw_ShowNormal);

P.S. Спасибо за исправления ошибок, русский у меня хромает, просьба, если будут еще какие то ошибки, сообщим мне об этом.


 
Anatoly Podgoretsky ©   (2009-01-26 13:11) [5]

Что бы не закрывалось - требуется запуска в консоли коммандного процессора.
С определенными допущениями это "cmd " + Filename
Параметры "cmd можно посмотреть в справке



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1231745269
vajo
2009-01-12 10:27
2009.03.15
Vista HP. Как попасть в папку Local Settings?


15-1231835570
Кузьма Захарович
2009-01-13 11:32
2009.03.15
файрвол и касперский антивирус вместе?


2-1232751901
Тимоха
2009-01-24 02:05
2009.03.15
sleep и динамическое создание объектов


15-1231588343
Кое кто
2009-01-10 14:52
2009.03.15
С помощью какой программы...


2-1232618365
Тимоха
2009-01-22 12:59
2009.03.15
матрица, record