Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP и временные таблици MS SQL / 16 сообщений из 16, страница 1 из 1
07.07.2004, 19:16:24
    #32594180
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Есть код:

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection

cmd.CommandText = "SELECT C1, N1, D1 INTO dbo.[#T" & Forms![T1]![ID] & "] FROM dbo.[1C]() [1C] WHERE (ID = " & Forms![T1]![ID] & ") AND (C1 = 5)"
cmd.Execute

таблица создается, после чего ее надо экспортировать в DBF:

DoCmd.TransferDatabase acExport, "dBase IV", "c:\", acTable, "#T" & Forms![T1]![ID], "D" & Forms![T1]![D1] & ".dbf", 0
Set cmd = Nothing

так непроходит Access не видит таблицу.
Как подругому это можно сделать?
...
Рейтинг: 0 / 0
07.07.2004, 19:28:28
    #32594190
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Создайте постоянную и юзайте ее,потому,как временные создаються в контексте сесии,а импорт у вас в отделльной сесии,как я понял.
...
Рейтинг: 0 / 0
07.07.2004, 19:42:38
    #32594202
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Да нет экспорт в той же сесии. В постоянную таблицу не хотелось бы.
...
Рейтинг: 0 / 0
07.07.2004, 19:44:03
    #32594204
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Да нет экспорт в той же сесии. В постоянную таблицу не хотелось бы.
...
Рейтинг: 0 / 0
07.07.2004, 22:18:48
    #32594320
Hummer from Home
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Лучше всё это делать в хп на сервере. Аксес держит 2 коннекта на самом деле. Или использовать ## таблички. Или делать потом Drop Table.
...
Рейтинг: 0 / 0
08.07.2004, 08:05:34
    #32594468
Andrey Mamitko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Кста об втором коннекте, в как-нить что-нить выполнить можно?

И если можно, то какова вероятность, что "посреди работы" Access не режит закрыть+открыть его?
...
Рейтинг: 0 / 0
08.07.2004, 08:10:01
    #32594472
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
>Как ... сделать можно
Ручками. Два рекордсета и по ним топ-топ;-)
...
Рейтинг: 0 / 0
08.07.2004, 10:21:35
    #32594716
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Временная таблица с одной # видима до завершения
транзакции
и после завершения ХП в которой она создавалась
автоматически уничтожается
(что кстати весьма удобно)
используйте временную таблицу с двумя ##
она существует пока не разорван конект
но после своих черных дел будет хорошим тоном
убить ее самому
...
Рейтинг: 0 / 0
08.07.2004, 10:42:52
    #32594785
OldPferd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Но если есть вероятность запуска этого режима одновременно более одного раза, то не забудьте добавить к имени ##таблицы что-нибудь уникальное - NEWID(),SPID - ## видны всем
...
Рейтинг: 0 / 0
08.07.2004, 11:05:26
    #32594852
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Вы утверждаете что Access держит два соединения. Если остановить выполнение кода на процедуре экспорта, то с помощью сохраненнки я спокойно просматриваю содержимое таблици. При этом эта таблица существует потом все время пока я не выйду из клиента полностью.
На счет глобальных ##таблиц. Проблема таже - Access их не видит.
Еще вопрос - а в базе tempdb эти таблици должны быть видимы или нет, а то я их там не вижу.
...
Рейтинг: 0 / 0
08.07.2004, 11:21:24
    #32594901
йцук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
Вы утверждаете что Access держит два соединения.
И он действительно держит два соединения

Если остановить выполнение кода на процедуре экспорта, то с помощью сохраненнки я спокойно просматриваю содержимое таблици
Какой сохраненки? Это в общем и неважно.
Из какого коннекшена ты ее запускаешь? Из того же, в котором ты временную таблицу создал. А экспорт идет - ЧЕРЕЗ ДРУГОЙ!!!

При этом эта таблица существует потом все время пока я не выйду из клиента полностью.
А вы чего хотите? Чтобы аксес сам понял, что она вам больше не нужна и сам ее удалил?
...
Рейтинг: 0 / 0
08.07.2004, 11:24:34
    #32594919
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
>На счет глобальных ##таблиц. Проблема таже - Access их не видит.
и не увидит пока F5 не нажмеш :)
юзай ее через ХП
...
Рейтинг: 0 / 0
08.07.2004, 12:03:03
    #32595067
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
йцук И он действительно держит два соединения

Да не спорю я с вами, я понять пытаюсь

Какой сохраненки?

В ADP проэкте - сохраненная процедура.

Из какого коннекшена ты ее запускаешь? Из того же, в котором ты временную таблицу создал. А экспорт идет - ЧЕРЕЗ ДРУГОЙ!!!

Если я остановил выполнение в форме, после чего руками запустил эту сохраненнку - то в каком я коннекшене ее запустил?

А вы чего хотите? Чтобы аксес сам понял, что она вам больше не нужна и сам ее удалил?

Я не к тому говорил что таблица осталась, а к тому что я ее не могу увидеть если смотрю через ЕМ в базе tempdb и такая же петрушка с глобальной временной таблицей.

Latuk и не увидит пока F5 не нажмеш :)
юзай ее через ХП

F5 нажимаю все равно не вижу. Да и в ЕМ на сервере тоже не вижу.
...
Рейтинг: 0 / 0
08.07.2004, 12:58:16
    #32595256
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
>Да и в ЕМ на сервере тоже не вижу.
Точно не помню
но временные таблички по ходу в tempdb смотреть надо
...
Рейтинг: 0 / 0
08.07.2004, 13:10:17
    #32595299
йцук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
авторДа не спорю я с вами, я понять пытаюсь
Гм.. пытаюсь объяснить.. Перепопытка пятнадцать с половиной. На пальцах (на всех трех пальцах)

Вот так работает
Код: plaintext
1.
2.
3.
4.
5.
6.
    Dim cnn1 As ADODB.Connection
    Set cnn1 = New ADODB.Connection
    cnn1.ConnectionString = CurrentProject.BaseConnectionString
    cnn1.Open

    cnn1.Execute "Create Table #t (a int)"
    cnn1.Execute "Insert Into #t values (1)"

Вот так не работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim cnn1 As ADODB.Connection
    Set cnn1 = New ADODB.Connection
    cnn1.ConnectionString = CurrentProject.BaseConnectionString
    cnn1.Open
    
    Dim cnn2 As ADODB.Connection
    Set cnn2 = New ADODB.Connection
    cnn2.ConnectionString = CurrentProject.BaseConnectionString
    cnn2.Open
    
    cnn1.Execute "Create Table #t (a int)"
    cnn2.Execute "Insert Into #t values (1)"

Это к вопросу о видимости временных таблиц в зависимости от коннекшена.

Теперь к вопросу о
Код: plaintext
1.
DoCmd.TransferDatabase acExport, "dBase IV", "c:\", acTable, & _
"#T" & Forms![T1]![ID], "D" & Forms![T1]![D1] & ".dbf",  0 
Как вы думаете, какой коннекшн используется аксесом в этом случае?
Подсказка - это не CurrentProject.Connection. В котором вы создавали временную таблицу.
...
Рейтинг: 0 / 0
08.07.2004, 13:57:33
    #32595435
C_MAXX73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP и временные таблици MS SQL
В результате:

йцук
Код: plaintext
1.
2.
3.
4.
5.
6.
    Dim cnn1 As ADODB.Connection
    Set cnn1 = New ADODB.Connection
    cnn1.ConnectionString = CurrentProject.BaseConnectionString
    cnn1.Open

    cnn1.Execute "Create Table ##t (a int)"
    cnn1.Execute "Insert Into ##t values (1)"

в таком виде таблица должна быть видна всем соединениям. Как аксес заставить ее увидеть?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP и временные таблици MS SQL / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]