|
|
|
Помогите с temporary tables
|
|||
|---|---|---|---|
|
#18+
Создал STORED PROCEDURE, которая возвращает набор, полученный из временной таблицы. Примерно такая: CREATE PROCEDURE SomeProcedure AS SET NOCOUNT ON SELECT * INTO #Temp FROM SomeTable SELECT * FROM #Temp GO В Access XP создаю форму, где источником является данная процедура. Форма запускается, но при попытке фильтрации или сортировки выдается ошибка типа "Invalid object name #Temp", но после неё сортировка(или фильтрация) происходит. Подскажите, пожалуйста, что можно сделать, чтобы сообщение об ошибке не вылазило (причем в Access 2000 такого нет, даже пробовал разные версии ADO:2.1 и 2.7 - эффект прежний). Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 13:21:32 |
|
||
|
Помогите с temporary tables
|
|||
|---|---|---|---|
|
#18+
Для начала попробуй заменить звездочку списком полей. Также убедись, что курсор - клиентсткий. Указанная ошибка возникает при получении приложением описания полей предварительным запуском процедуры с опцией SET FMTONLY ON. Надо добиться от приложения такого поведения, чтобы метаданные получались вместе с набором данных без всякого SET FMTONLY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 13:32:55 |
|
||
|
Помогите с temporary tables
|
|||
|---|---|---|---|
|
#18+
Без звездочки (со списком полей) ничего не изменилось, курсор - клиентский. С FMTONLY тоже что-то не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 14:02:37 |
|
||
|
Помогите с temporary tables
|
|||
|---|---|---|---|
|
#18+
Access сам не умеет сортировать записи. Он просто передает соответствующую команду на SQL сервер. Поскольку последняя выборка была из таблицы #Tmp, то и команда на SQL сервер бутет примерно такая: Код: plaintext 1. 2. А поскольку все временные объекты находятся в базе tempdb, а по выходе из процедуры временные таблицы созданные в ней автоматически уничтожаются, то вот он и ругается на отсутсвие таблицы #Tmp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 14:42:32 |
|
||
|
Помогите с temporary tables
|
|||
|---|---|---|---|
|
#18+
А почему тогда сортировка в конце-концов происходит? И почему в 2000 аксесе все проходит без глюков, ведь процедура одна и та же используется в обоих случаях? Кстати, я подобные разногласия (при сортировке и фильтрации) в Access XP и в Access 2000 уже встречал, но в тех случаях процедура возвращала набор из обычных таблиц(объектов рабочей базы). Причем результат изменялся с методом получения источника данных формой. Напр.: 1) передача параметров процедуры через InputParameters, а имя процедуры в RecordSourse 2) передача параметров процедуры вместе с именем процедуры через RecordSourse 3) сформировать свой Recordset, а потом Set Me.Recordset = rstMy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 15:02:09 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3373&tid=1818656]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 330ms |

| 0 / 0 |
