![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнение скрипта программно [D7, MSSQL]
Hooch © (2004-04-05 12:04:00)День добрый !
Господа, нужно выполнить в программе скрипт MS SQL и получить полный лог выполнения, в общем как в QA, может кто сталкивался, подскажите решение (утилиту osql не предлагать :-) )
Fay (2004-04-05 17:04:00) [1]Да я тебе верю на слово. Без всяких джедаистов (или как их там?).
Проверить всё равно лениво и пофигу 8)
sniknik (2004-04-05 16:42:00) [2]Fay © (05.04.04 16:33) [14]
ты просто полазь по форуму, тут люди имели конкретные проблемы при подключении к MSSQL через ODBC в силу его ограниченности, (причем используя ADO но указывая ODBC DSN в строке) единственное изменение конекта на OLEDB драйвер эти проблемы решало... (точно не скажу что именно, давно было, скорее всего уже в дайджестах, искать ломает ;о))
Fay (2004-04-05 16:33:00) [3]Учитывая своё глубокое незнание ODBC (ни в зуб ногой), я, пожалуй, откажусь.
sniknik (2004-04-05 16:30:00) [4]Delirium © (05.04.04 16:24) [12]
> Хотя, возможно, работа осуществляется непосредственно с ole db MSSQL
зачем? переписывать/двоить обмен данными при работе с удаленным mssql сервером?
меня бы заломало. ;о)
Delirium (2004-04-05 16:24:00) [5]"зато ODBC-шные библиотеки имеются в избытке" - тем не менее, без ADO QA - не работает. Хотя, возможно, работа осуществляется непосредственно с ole db MSSQL... Точно можно утверждать, что для MSSQL взаимодействие с QA осуществляется так-же, как и с приложением использующим ADO, но не ODBC - QA поддерживает клиентский MultiRecordset.
sniknik (2004-04-05 16:20:00) [6]Fay © (05.04.04 15:30) [8]
давай сравнивать, ты делаеш то что может QA через ODBC я через ADO, начнем с возврата значения PRINT. чьи возможности раньше кончатся тот отпадает. согласен?
sniknik (2004-04-05 16:20:00) [7]just me (05.04.04 16:15) [9]
аналогично [10]
just me (2004-04-05 16:15:00) [8]2 sniknik © (05.04.04 13:48) [5]
> тем не менее QA работает через ADO.
Вестма сомнительно. К иому же Dependency Walker (Visual Studio) не показывает в списке подгруженных DLL ничего из состава ADO, зато ODBC-шные библиотеки имеются в избытке
Fay (2004-04-05 15:30:00) [9]А я вот слышал, что на ODBC. ODBC тоже, кажись, не в Oracle ваяли...
sniknik (2004-04-05 15:15:00) [10]а то что их обоих (ADO/QA) в мелкософте писали, и ADO в основном под MSSQL разрабатывался не доказательство?
лично меня бы ломало писать две разные вещи если можно одной обойтись, в мелкософте тоже думаю не трудоголики. ;о))
лутше ты докажи что нет.
Hooch (2004-04-05 14:41:00) [11]>> sniknik ©
а есть доказательства ? просто пару раз слышал подобное но нигде доказательств не нашел
sniknik (2004-04-05 13:48:00) [12]> думаю что через ADO не получится все ошибки получить, так я уже пробовал часть, так сказать, не критичный ошибок вообще не
> приходит, принты работат через раз ну и т.д. и.т.п.
тем не менее QA работает через ADO.
Hooch (2004-04-05 13:45:00) [13]спасибо, счас попробую
just me (2004-04-05 13:35:00) [14]Можно с помощью SQLDMO, примерно так:
var
Server : Variant;
begin
try
try
Server := CreateOleObject('SQLDMO.SQLServer');
Server.Connect(strServerName, strLoginID, strPassword);
Server.ExecuteImmediate(strScriptText, nExecMode, 0);
except
on E : EOleException do
Application.MessageBox(PChar(msgWrongSQLScript + E.Message), PChar(strMessError), mb_OK + MB_ICONERROR);
end;
Server.DisConnect;
finally
Server := Unassigned;
end;
end;
Нужное значение параметра nExecMode посмотри в доке на SQLDMO (в BOL например)
Hooch (2004-04-05 12:24:00) [15]думаю что через ADO не получится все ошибки получить, так я уже пробовал часть, так сказать, не критичный ошибок вообще не приходит, принты работат через раз ну и т.д. и.т.п.
stone (2004-04-05 12:07:00) [16]ADOCommand.Execute (для скрипта) + ADOConnection.AfterExecute (для лога)