Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

От LoadFromFile виснит сервак


ddd329 ©   (2011-02-16 20:05:00) 

Привет всем!
У меня трехзвенная архитектура приложения, средний уровень - это Remote Data Module. На клиенте находится компонент SocketConnection, через который я удалено вызываю процедуру, так: SocketConnection.AppServer.Set_SQL(...). Процедура Set_SQL находится на среднем уровне, остальное для меня просто магия... Если я устанавливаю свойство ADOQuery_Task.SQL.ADD(..) в коде, то все нормально, но если я пытаюсь загрузить код из файла(ADOQuery_Task.SQL.LoadFromFile), то средний уровень просто виснит и ни на что не отвечает, а при закрытии клиента, пишет что проблема с RPC. В чем проблема?


ddd329   (2011-02-17 18:02:00) [1]


> загрузить в стринг лист, и уже из него сделать ADOQureм.
> SQL.Text:= стринглист.Text;

А вот так вот работает)))) Спасибо!!!


Anatoly Podgoretsky   (2011-02-17 16:39:00) [2]


> sniknik ©   (17.02.11 11:50) [4]

SQL: TStrings;


Palladin   (2011-02-17 16:22:00) [3]

он от хохота виснит....


sniknik   (2011-02-17 11:50:00) [4]

> но никуда по сети его передавать не собирается!
это ты так думаешь... но что делается "скрыто" не знаешь. например инициализация параметров (что ты в прошлом ответе игнорировал), если есть коннект к базе.

вот почему бы не проверить? загрузить в стринг лист, и уже из него сделать ADOQureм.SQL.Text:= стринглист.Text;
если все нормально то изучай чего там в компоненте делается (раз уж не хочешь использовать "родной" ADODataSet), если нет, то очевидно вопрос с ADO сместится на другого "участника".


Anatoly Podgoretsky   (2011-02-17 10:15:00) [5]

> ddd329  (16.02.2011 20:43:02)  [2]

Попробуй под тем же пользователем загрузить файл в блокнот.


ddd329   (2011-02-16 20:43:00) [6]

Нет, все пока на одном компьютере!!! На среднем уровне, где нах-ся сам exe-шник, есть папка SQL, в ней нах-ся файлы с запросами, и компонент ADOQurey грузит запрос из файла - висяк, а если ADOQureм.SQL.ADD(...) - все нормально, но никуда по сети его передавать не собирается!


sniknik   (2011-02-16 20:27:00) [7]

RPC это вроде как удаленный вызов процедур... ты там случаем не с другой машины пытаешься код загрузить? а ADO его типа пытается "передать" на загрузку "по  месту"...
хотя не должно, SQL это же "сбоку бантик" для "черте что"(ADOQuery)...
использовал бы родной ADODataSet тогда бы подобное непотребство и не получилось бы даже...

вообще скорее всего причина в попытках пере запросить данные о параметрах после каждого байта полученного из потока в запрос... (проблема в ADOQuery от внесения запроса частями дано известна)


Наверх

Титульная страница Поиск, карта сайта Написать письмо