Конференция "Базы" » От LoadFromFile виснит сервак
 
  • ddd329 (16.02.11 20:05) [0]
    Привет всем!
    У меня трехзвенная архитектура приложения, средний уровень - это Remote Data Module. На клиенте находится компонент SocketConnection, через который я удалено вызываю процедуру, так: SocketConnection.AppServer.Set_SQL(...). Процедура Set_SQL находится на среднем уровне, остальное для меня просто магия... Если я устанавливаю свойство ADOQuery_Task.SQL.ADD(..) в коде, то все нормально, но если я пытаюсь загрузить код из файла(ADOQuery_Task.SQL.LoadFromFile), то средний уровень просто виснит и ни на что не отвечает, а при закрытии клиента, пишет что проблема с RPC. В чем проблема?
  • sniknik © (16.02.11 20:27) [1]
    RPC это вроде как удаленный вызов процедур... ты там случаем не с другой машины пытаешься код загрузить? а ADO его типа пытается "передать" на загрузку "по  месту"...
    хотя не должно, SQL это же "сбоку бантик" для "черте что"(ADOQuery)...
    использовал бы родной ADODataSet тогда бы подобное непотребство и не получилось бы даже...

    вообще скорее всего причина в попытках пере запросить данные о параметрах после каждого байта полученного из потока в запрос... (проблема в ADOQuery от внесения запроса частями дано известна)
  • ddd329 (16.02.11 20:43) [2]
    Нет, все пока на одном компьютере!!! На среднем уровне, где нах-ся сам exe-шник, есть папка SQL, в ней нах-ся файлы с запросами, и компонент ADOQurey грузит запрос из файла - висяк, а если ADOQureм.SQL.ADD(...) - все нормально, но никуда по сети его передавать не собирается!
  • Anatoly Podgoretsky © (17.02.11 10:15) [3]
    > ddd329  (16.02.2011 20:43:02)  [2]

    Попробуй под тем же пользователем загрузить файл в блокнот.
  • sniknik © (17.02.11 11:50) [4]
    > но никуда по сети его передавать не собирается!
    это ты так думаешь... но что делается "скрыто" не знаешь. например инициализация параметров (что ты в прошлом ответе игнорировал), если есть коннект к базе.

    вот почему бы не проверить? загрузить в стринг лист, и уже из него сделать ADOQureм.SQL.Text:= стринглист.Text;
    если все нормально то изучай чего там в компоненте делается (раз уж не хочешь использовать "родной" ADODataSet), если нет, то очевидно вопрос с ADO сместится на другого "участника".
  • Palladin © (17.02.11 16:22) [5]
    он от хохота виснит....
  • Anatoly Podgoretsky © (17.02.11 16:39) [6]

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

    SQL: TStrings;

  • ddd329 (17.02.11 18:02) [7]

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

    А вот так вот работает)))) Спасибо!!!
 
Конференция "Базы" » От LoadFromFile виснит сервак
Есть новые Нет новых   [134431   +15][b:0][p:0.001]