Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.008 c
1-49144
NovyChock
2003-01-05 18:53
2003.01.16
Клавиша Esc


4-49374
Z_man7777
2002-11-28 13:36
2003.01.16
TCP/IP адрес


6-49185
Captain
2002-11-10 12:55
2003.01.16
Обновляемый список компьютеров в сети


1-49132
malkolinge
2003-01-04 11:41
2003.01.16
DFM ?


14-49301
NeyroSpace
2002-12-22 02:48
2003.01.16
Существуют ли они русские OpenSource проекты?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский