Вниз
Скачать: CL | DM;

Как сделать   Найти похожие ветки 

 
VDenis   (2002-12-20 11:13) [0]

Ситуация такая: на сервере MSSQL при запуске приложения создается временная таблица #Table1, затем при помощи Query1 выполняется к таблице запрос "select * from #Table1". Работает.
Меняю - Query1.RaquestLive:=True. Ругается "Token not found...".
Пробовал имя таблицы ставить в кавычки - ругается "Table does not exist. Invalid object name #Table1".
Как сделать "живой" запрос из Делфи к временной таблице на сервере MSSQL? Заранее спасибо.


 
ЮЮ ©   (2002-12-20 11:19) [1]

"Token not found...". А кто не найден - то?


 
VDenis   (2002-12-20 11:24) [2]

"Token not found. Token: Line Number: 1"


 
ЮЮ ©   (2002-12-20 11:38) [3]

Индексы в таблице есть? BDE или ADO используешь?


 
VDenis   (2002-12-20 11:39) [4]

Индексов нет. Использую BDE.


 
ЮЮ ©   (2002-12-20 11:50) [5]

Как показывает опыт, при отсутствии индексов "живой" запрос невозможен


 
ЮЮ ©   (2002-12-20 11:54) [6]

А это написано в Helpe
A True value for RequestLive is a request for an updatable result set. It does not guarantee that the database back-end will return an updatable result set. See the documentation for the specific database system used for the criteria needed for a live query result set. If the database cannot return an updatable result set, a read-only result set is returned instead. This is done automatically and usually without error. Some database systems may raise an exception on requests for live result sets that cannot be fulfilled. Check the success of the request by inspecting the dataset component’s CanModify property.


 
VDenis   (2002-12-20 12:03) [7]

Если я на сервере создам такую же не временную таблицу, то в этом случае "живой" запрос работает. Почему Делфи так реагирует на временные таблицы?


 
sniknik ©   (2002-12-20 12:12) [8]

возьми ADODataSet там есть параметр CommandType поставь cmdTableDirect

с ним получится.


 
asmith   (2002-12-20 13:53) [9]

Делфи тут ни при чем, это работа BDE. Дело в том, что когда BDE обрабатывает RaquestLive:=True, набор данных переводится в режим, когда нужно автоматически апдейтить таблицу, упомянутую в запросе. Вот на MSSQL и идут обращения к #Table1. Но там таковой просто нет - посмотри ради интереса в sysobjects - сервер искажает имя временной таблицы для каждой сессии.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-48866
Eugene_S
2002-12-19 11:07
2003.01.16
Метод Seek -объявил забостовку (else сыканул)


1-48995
delpher_gray
2003-01-06 09:01
2003.01.16
Как склеить два файла в один ?


14-49246
Дмитрий Попов
2002-12-26 13:56
2003.01.16
Книги по Delphi (ObPas)


6-49192
BuBuS
2002-11-16 21:23
2003.01.16
Сети и Интернет


3-48913
_Vovan_
2002-12-18 17:00
2003.01.16
Почему?




   Наверх