Форум: "Базы";
Текущий архив: 2014.05.11;
Скачать: [xml.tar.bz2];
ВнизОт 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c