Форум: "Базы";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
ВнизTADOCommand не нравится GO, почему? Найти похожие ветки
← →
Kolan © (2007-12-10 17:12) [0]Здравствуйте,
Странно
Вот такой код:procedure TDataAccessFacade.RunScript(ASQL: TStrings);
var
Query: TADOCommand;
begin
if Assigned(ASQL) then
begin
Query := TADOCommand.Create(nil);
try
with Query do
begin
Connection := FDBConnection;
CommandText := ASQL.Text;
Execute;
end;
finally
Query.Free;
end;
end;
end;
Вот такой скрипт:if exists (select * from dbo.sysobjects where id = object_id(N"[dbo].[FK_T_TALON_T_SL_BRIG]") and OBJECTPROPERTY(id, N"IsForeignKey") = 1)
ALTER TABLE [dbo].[T_TALON] DROP CONSTRAINT FK_T_TALON_T_SL_BRIG
GO
Говорит Incorrect syntax near GO. Странно, почему?
← →
DiamondShark © (2007-12-10 17:21) [1]Потому что ГО -- это не команда SQL. Это разделитель пачек команд для isql
если ты хочешь сам выполнить скрипт, предназначенный для Query Analizer или для isql, то разбирай файл, и сам режь на куски по ГО.
← →
Kolan © (2007-12-10 17:27) [2]Ясно. А Create же должен катить?
Закоментил все ГОУ.
Теперь Incorrect syntax near keyword CREATE.
Строчку не сообщает. В Query Analizer скрипт работает.
if exists (select * from dbo.sysobjects where id = object_id(N"[dbo].[T_TALON]") and OBJECTPROPERTY(id, N"IsUserTable") = 1)
drop table [dbo].[T_TALON]
--GO
CREATE TABLE [dbo].[T_SL_BRIG] (
[ID] [int] NOT NULL ,
[STATION_ID] [int] NULL ,
[SOST] [varchar] (250) COLLATE Cyrillic_General_CI_AS NULL ,
[NAME] [varchar] (100) COLLATE Cyrillic_General_CI_AS NULL ,
[ID_DOCT] [int] NULL ,
[ID_FEL] [int] NULL ,
[ID_VOD] [int] NULL ,
[ID_SAN] [int] NULL
) ON [PRIMARY]
--GO
← →
stone © (2007-12-10 17:32) [3]А на сервак что идет? Посмотри в профайлере.
← →
Правильный_Вася (2007-12-10 18:09) [4]
> ) ON [PRIMARY]
это чево такое?
и где разделители команд?
← →
Kolan © (2007-12-10 18:11) [5]> и где разделители команд?
> [1] DiamondShark © (10.12.07 17:21)
> Потому что ГО —— это не команда SQL. Это разделитель пачек
> команд для isql
:)
> это чево такое?
Это квери аналайзером выгружено.
← →
ANB © (2007-12-10 18:21) [6]Го - это разделитель команд. И выкидывать/комментарий его низзя. Теж написали - надо искать го в тексте, пилить скрипт на куски и кусками выполнять.
← →
Kolan © (2007-12-10 18:46) [7]> Го — это разделитель команд. И выкидывать/комментарий его
> низзя. Теж написали — надо искать го в тексте, пилить скрипт
> на куски и кусками выполнять.
Ясно. Подумаю, мож проше утилиткой isql сделать…
← →
ANB © (2007-12-10 18:54) [8]
> Ясно. Подумаю, мож проше утилиткой isql сделать…
искл будет лучше всего. особливо если вывод перехватить.
заодно и приедет все, что надо
← →
Kolan © (2007-12-10 18:57) [9]>
> искл будет лучше всего. особливо если вывод перехватить.
Не мне наоборот запустить потихому, чтобы отработало и се… Понял так наверно и сделаю.
← →
ANB © (2007-12-10 18:59) [10]
> Не мне наоборот запустить потихому, чтобы отработало и се…
> Понял так наверно и сделаю.
Если не перехватить, то как раз потихоньку не получится. будет черный экран мелькать
← →
Павел Калугин © (2007-12-11 13:41) [11]как сказано выше go это разделитель команд.
Если мне не изменяет память, то что отдается в ado исполняется процедурой sp_executesql. Следовательно надо смотреть ее описание.
Я данный вопрос обошел проще.
грузил скрипт в stringlist и сам рубил его на комманды по go
← →
Kolan © (2007-12-11 14:21) [12]Все, заюзал isql. Всех благодарю.
← →
Anatoly Podgoretsky © (2007-12-11 15:54) [13]Это самое плохое, что можно было сделать.
← →
Kolan © (2007-12-11 15:59) [14]> Это самое плохое, что можно было сделать.
Почему?
← →
ANB © (2007-12-11 16:28) [15]
> Это самое плохое, что можно было сделать.
Я бы не сказал. ИСКЛ умеет несколько побольше АДО и эти фичи замучаешься ручками обрабатывать. Некоторые скрипты, написанные под штатные скриптогонялки, быстрее в них же и выполнять.
← →
Kolan © (2007-12-11 16:32) [16]>
>
> [8] ANB © (10.12.07 18:54)
>
> искл будет лучше всего. особливо если вывод перехватить.
http://delphimaster.net/view/2-1197376680/
:)
← →
ANB © (2007-12-11 16:36) [17]
> http://delphimaster.net/view/2-1197376680/
>
> :)
Та дома где то пример валяется. Я как раз тоже через ИСКЛ скрипты гонял.
Кстати, пример для кмд.экзе для ИСКЛ не прокатывает.
← →
Kolan © (2007-12-11 16:37) [18]> Кстати, пример для кмд.экзе для ИСКЛ не прокатывает.
разница в чем?
← →
Anatoly Podgoretsky © (2007-12-11 16:38) [19]> Kolan (11.12.2007 15:59:14) [14]
Эта программа была оставлена в 2000 для совместимости со старыми версиями, там много может быть проблем, например с Юникодом.
Лучше бы сделал как тебе советовали разборщик пакета по GO
← →
Kolan © (2007-12-11 17:41) [20]>
> Эта программа была оставлена в 2000 для совместимости со
> старыми версиями, там много может быть проблем, например
> с Юникодом.
> Лучше бы сделал как тебе советовали разборщик пакета по
> GO
Понял, если успею сделаю.
> [17] ANB © (11.12.07 16:36)
Блин а оно то и не работает:
В консоль вываливаются такие штуки:1> 2> 3> 1> 2> 3> 4>
Итд. Много. Я думал это он работает, оказалось — нет.
← →
Kolan © (2007-12-11 17:41) [21]> 19] Anatoly Podgoretsky © (11.12.07 16:38)
Порезал на куски — проверяю.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.046 c