Когда-то я уже пытался обновить свой проект на новую версию SDAC, и этому помешал один досадный баг: в SQL-скриптах почему-то нельзя использовать знак деления "/", если он расположен отдельно на одной строке.
http://forums.devart.com/viewtopic.php?f=6&t=27412
Тогда переход на новую версию так и не состоялся, а сейчас у меня гораздо больше решительности - не за горами переход с Delphi XE и SQL Server 2005 на что-то по-новее. :)
Хотелось бы "дотыкать" этот момент, к тому же подписка на компоненты уже оплачена 8)
Итак, у меня есть много файлов со скриптами создания хранимых процедур, которые загружаются в базу данных с помощью компонента TMSScript. В хранимых процедурах в запросах встречаются вычисления довольно длинной формы с использованием деления. И для наглядности кода (когда делимое и делитель представляют собой большие выражения по ширине экрана) символ деления выносится на отдельную строку.
На новой версии SDAC этот символ воспринимается как разделитель (с чего это вдруг?).
Например:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
MSConnection: TMSConnection;
MSScript: TMSScript;
begin
MSConnection := TMSConnection.Create(Self);
MSScript := TMSScript.Create(Self);
try
MSConnection.Authentication := auWindows;
MSConnection.Server := 'db01';
MSConnection.Database := 'master';
MSConnection.LoginPrompt := False;
MSScript.Connection := MSConnection;
MSScript.SQL.Text := 'SELECT'#10#13 +
'(10'#10#13 +
'/'#10#13 + // This line with error!
'2) AS RES';
MSScript.Execute;
finally
MSScript.Free;
MSConnection.Free;
end;
end;
Поганить свой код, перенося "/" на непустую строчку, из-за чьей глупости я не хочу. На 5-ой версии SDAC всё работает прекрасно (самая последняя 5-я версия, 5.10.0.8).
Исправьте, пожалуйста.