Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

Проблема с переносом скрипта из QA в редактор TQuery   Найти похожие ветки 

 
Rob   (2005-08-29 13:19) [0]

Добрый день. Имеется запрос на TSQL, состоящий из примерно 3000 строк. В SQL Query Analyzer е он нормально отрабатывает. Но при переносе его либо через буфер, либо выполнением
Query1.SQL.LoadFromFile.....
после запуска запроса на исполнение постоянно лезет ошибка типа:
Line ... Incorrect syntax near ":".

Пробовал с помощью Trim очищать стороки SQL и слева и справа. Тогда меняется либо номер Line в сообщении об ошибке либо еще похлеще:
например, если написано date_from, то начинает ругаться:
Line ... Incorrect syntax near "date_:".

Господа, кто сталкивался  с такой проблемой, пожалуйста, посоветуйте как быть!


 
Rob   (2005-08-29 13:28) [1]

Да, забыл добавить: символ ":" отсутствует в тексте запроса.


 
Shaman_ ©   (2005-08-29 14:22) [2]

Были подобные проблемы когда в значениях присуствовали ковычки. Исправляется удвоением или применением параметров. Хотя не уверен что это твой случай


 
Rob   (2005-08-29 14:31) [3]

Попробовал заменить " на ". То-же самое. Может быть у BDE ограничение на длину запроса?
Сейчас попробую ADO.


 
Shaman_ ©   (2005-08-29 15:06) [4]

Попробовал заменить " на "
Зачем?
Допустим есть запрос INSERT INTO TABLENAME (FIELDNAME) ("Монитор 17" TFT")
Такая конструкция спотыкнется на " стоящем после 17
Попробуй ставить / перед ковычкой в значении:
INSERT INTO TABLENAME (FIELDNAME) ("Монитор 17/" TFT")


 
ANB ©   (2005-08-29 15:08) [5]

Запрос в студию.


 
Shaman_ ©   (2005-08-29 15:15) [6]

>Запрос в студию.
на 3000 строк? :)

Кстати что за запрос такой на 3000 строк? У меня ощущение что там набор запросов


 
Anatoly Podgoretsky ©   (2005-08-29 15:25) [7]

ANB ©   (29.08.05 15:08) [5]
Что все 3000 строк?


 
ANB ©   (2005-08-29 15:31) [8]

А хотя бы начало. Думаю, там в первых 5 строках проблемы будет видно.


 
Rob   (2005-08-29 15:59) [9]

Запрос состоит из формирования нескольких временных таблиц и работой с ними.
Результат работы с ADO положительный. Однако, поскольку скрипт исполняется порядка 5 минут пришлось связку TADOConnection+TADOQuery заменить на TADOCommand. Иначе все вылетало по Timeout expired.


 
MOA ©   (2005-08-29 16:31) [10]

>Запрос состоит из формирования нескольких временных таблиц и работой с ними.
Ага! Вот потому и 3000 строк!
А GO в скрипте, наверное, вовсю используется - раз DDL используете?
Удачи!


 
MOA ©   (2005-08-29 16:34) [11]

На всякий случай - цитата из BOL:
GO is not a Transact-SQL statement; it is a command recognized by the osql and isql utilities and SQL Query Analyzer.


 
Val ©   (2005-08-29 16:35) [12]

>[9] Rob   (29.08.05 15:59)
Думаю, что это НУЖНО вынести в серверный код.


 
ANB ©   (2005-08-29 17:11) [13]


> Rob   (29.08.05 15:59) [9]
- странно, как это ADO GO съел. У меня не хотел. Пришлось скриптогонялку писать. Хотя, возможно, здесь и без GO можно было обойтись. А BDE не ест несколько операторов в одном запросе.


 
Rob   (2005-08-29 17:14) [14]

ANB

GO не используется.


 
ANB ©   (2005-08-29 17:16) [15]


> Rob   (29.08.05 17:14) [14]
- значит, потому ADO и съел.


 
Rob   (2005-08-29 17:25) [16]

ADO съел. Весь вопрос в том, ПОЧЕМУ BDE НЕ ЗАХОТЕЛ ???


 
Val ©   (2005-08-29 17:32) [17]

а почему паскаль не компилит сишные файлы?


 
Rob   (2005-08-29 17:53) [18]

Val

Причем тут паскаль и си? В данном случае речь идет о том, что BDEшный TQuery после определенного числа строк в свойстве SQL начинает глючить, а TADOQuery нет. Оба компонента предназначены для одного и того-же.


 
Anatoly Podgoretsky ©   (2005-08-29 17:55) [19]

Rob   (29.08.05 17:53) [18]
Потому что БДЕ поддерживает только версию 6,5, все что выше только на везение.


 
Val ©   (2005-08-29 17:57) [20]

При том, что это разные инструменты. И "глючить" тут - ваши личные измышления.


 
Rob   (2005-08-29 19:56) [21]

Val
Это не мои личные измышления, а факт с которым я, к сожалению, столкнулся.

ANB
"А BDE не ест несколько операторов в одном запросе."
Ест.


 
Anatoly Podgoretsky ©   (2005-08-29 20:42) [22]

Что то пока фактов не видать. Есть головословный, типичные утверждения, что система виновата.


 
Rob   (2005-08-29 21:08) [23]

Anatoly Podgoretsky

Факт описан в моем первом посте. Я мог-бы привести Вам и сам скрипт, но для проверки его работы придется так-же выслать весьма не малые по объему базы.
В общем, можно резюмировать: при использовании BDE и при превышении определенного числа сторок свойства SQL у компонента TQuery начинаются приведенные мной проблемы и следует либо переносить скрипт на сервер в SP, либо использовать ADO. За сим, думаю, обсуждение темы можно закончить.


 
Anatoly Podgoretsky ©   (2005-08-29 23:40) [24]

Rob   (29.08.05 21:08) [23]
Ну вы себя сами мучаете, ну сколько можно говорить, не используйте БДЕ для данной цели, не его это.
Ну а насчет скрипта, приведи строк 20-40


 
paul_k ©   (2005-08-30 10:08) [25]

Rob   (29.08.05 13:19)
как написано в
Val ©   (29.08.05 16:35) [12]
оформи запрос как хранимую процедуру и обращайся к ней.



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

Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.022 c
8-1116421823
andrey12
2005-05-18 17:10
2005.10.09
Проблеммы с мр3 и медиаплэером как убрать глюки?


1-1127220579
Андре
2005-09-20 16:49
2005.10.09
Чат


4-1123735019
ndn
2005-08-11 08:36
2005.10.09
Медленная печать на матричном принтере


5-1101732785
Student2
2004-11-29 15:53
2005.10.09
Включение TTimer


2-1124970321
grigory
2005-08-25 15:45
2005.10.09
Побайтное копирование файла!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский