Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.05.11;
Скачать: CL | DM;

Вниз

От LoadFromFile виснит сервак   Найти похожие ветки 

 
ddd329   (2011-02-16 20:05) [0]

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


 
sniknik ©   (2011-02-16 20:27) [1]

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

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


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

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


 
Anatoly Podgoretsky ©   (2011-02-17 10:15) [3]

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

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


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

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

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


 
Palladin ©   (2011-02-17 16:22) [5]

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


 
Anatoly Podgoretsky ©   (2011-02-17 16:39) [6]


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

SQL: TStrings;


 
ddd329   (2011-02-17 18:02) [7]


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

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



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

Текущий архив: 2014.05.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1384090738
Jimmy
2013-11-10 17:38
2014.05.11
Word2003 и относительные пути рисунков


15-1384032444
Прочее
2013-11-10 01:27
2014.05.11
OLE объекты (COM) их версии и вызов из Delphi


2-1374914958
HackerProNoob
2013-07-27 12:49
2014.05.11
Картинка


15-1384162167
L8
2013-11-11 13:29
2014.05.11
Прямоугольник повернули. Найти получившийся прямоугольник.


15-1383769803
Юрий
2013-11-07 00:30
2014.05.11
С днем рождения ! 7 ноября 2013 четверг