Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
Всем привет!
С SQL 2000 таких проблем небыло, как это сделать описано тут , а как бы провернуть этоже с 2005 sql-ем?
Спасибо за рание.
19 июн 09, 09:35    [7318812]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
ссылочка не вставилась
http://www.rsdn.ru/article/db/tsql.xml#ELKAE
19 июн 09, 09:37    [7318821]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Не совсем понятно, зачем Вам всё это? Используйте ## таблицы если уж так необходимо и не извращайтесь.
19 июн 09, 09:43    [7318860]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
PaulYoung
Не совсем понятно, зачем Вам всё это? Используйте ## таблицы если уж так необходимо и не извращайтесь.

Тут такая задача, в 1С-ке (8.1) формируется запрос и скидывается во временную таблицу, затем через ADO из 1С-ки подключаюсь к этомуже серверу и через linked server получаю данные с другого сервера и скидываю их в другую временную таблицу ну а затем уже рабоатю с ними.
19 июн 09, 10:00    [7318968]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Nahel,

а что, 1Ска не умеет формировать глобальные временные таблицы? Или Вы не умеете?
19 июн 09, 10:03    [7318990]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Nahel,

и вообще, если данные нужны в 1С, там и делайте всё, что нужно. Не являюсь спецом 1С, но почти уверен, что Вашу задачу можно решить внутри 1С.
19 июн 09, 10:07    [7319015]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
PaulYoung
Nahel,

а что, 1Ска не умеет формировать глобальные временные таблицы? Или Вы не умеете?

Возможно я не умею формировать гл. временные таблицы делаю это так

"select * into ##tmpDbTabe from Oper"

а вот 1с-ка делает это через свой МенеджерВременныхТаблиц, но выборка в принципе такого же вида

|ВЫБРАТЬ
  |	Спр.Группа,
  |	Спр.Код КАК Код,
  | Поместить ##TempTbl
  |ИЗ

При выболнение 1-го запроса через ADO создается таблица dbo.##tmpDbTabe я так понимаю она глобальная
а вот по средствам 1С-ки создается таблица #t_______00000000031 только подчеркиваний больше
вот является ли она глобальной незнаю.
19 июн 09, 10:15    [7319056]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
PaulYoung
Nahel,

и вообще, если данные нужны в 1С, там и делайте всё, что нужно. Не являюсь спецом 1С, но почти уверен, что Вашу задачу можно решить внутри 1С.

нельзя, данные дергаются с Оракла.
19 июн 09, 10:17    [7319073]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Steelvan
Member

Откуда: Питер
Сообщений: 116
Не являюсь спецом 1С, но почти уверен, что Вашу задачу можно решить внутри 1С.

Нельзя - Ссылка на временную таблицу находиться в локальной переменной (только на клиенте).



Автору могу посоветовать использовать не временные таблицы (если данные берутся не средствами 1C).


Хотя самого тоже этот вопрос периодически интересует, т.к. работаю на стыке 1С и SQL через ADO.
19 июн 09, 10:33    [7319209]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Nahel
таблица #t_______00000000031
С точки зрения MS SQL она не является глобальной.

Вообще, по сути Вашей проблемы, не важно где и как лежат Ваши данные, напишите ХП, которая вернет Вам нужный набор и дерните её из Вашей 1С. Надеюсь, она ХП вызвать может?
19 июн 09, 10:37    [7319231]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
VladimirKr
Member

Откуда: СПб
Сообщений: 1050
Nahel
Тут такая задача, в 1С-ке (8.1) формируется запрос и скидывается во временную таблицу, затем через ADO из 1С-ки подключаюсь к этомуже серверу и через linked server получаю данные с другого сервера и скидываю их в другую временную таблицу ну а затем уже рабоатю с ними.


А кто мешает вам вместо запроса в 1С написать свой собственный на T-SQL, возвращающий те же данные? В 8.1 структура таблиц открыта и прозрачна. У меня, например, "прямые запросы" получается писать быстрее, чем тоже самое в 1С.
19 июн 09, 11:01    [7319422]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
Steelvan

Автору могу посоветовать использовать не временные таблицы (если данные берутся не средствами 1C).

Выборка из справочника 1с делается самой 1с-ой

PaulYoung
Надеюсь, она ХП вызвать может?

своими средствами нет, через АДО да

VladimirKr
А кто мешает вам вместо запроса в 1С написать свой собственный на T-SQL, возвращающий те же данные? В 8.1 структура таблиц открыта и прозрачна. У меня, например, "прямые запросы" получается писать быстрее, чем тоже самое в 1С.


Мешает начальство :( Если не будет найден вариант то придется его склонять к прямой работе с БД
19 июн 09, 11:11    [7319496]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
VladimirKr
В 8.1 структура таблиц открыта и прозрачна. У меня, например, "прямые запросы" получается писать быстрее, чем тоже самое в 1С.

А где можно про структуру поподробней почитать?
19 июн 09, 11:15    [7319518]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
VladimirKr
Member

Откуда: СПб
Сообщений: 1050
Nahel

Мешает начальство :( Если не будет найден вариант то придется его склонять к прямой работе с БД

Ну раз начальство считает, что по автостраде удобнее ездить на тракторе, чем на гоночном автомобиле, тады Ой :)
19 июн 09, 11:15    [7319529]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
VladimirKr
Member

Откуда: СПб
Сообщений: 1050
Nahel
VladimirKr
В 8.1 структура таблиц открыта и прозрачна. У меня, например, "прямые запросы" получается писать быстрее, чем тоже самое в 1С.

А где можно про структуру поподробней почитать?


Структура таблиц БД 1С
19 июн 09, 11:28    [7319605]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Michael_N
Member

Откуда: Белокуриха, АК
Сообщений: 150
Nahel
PaulYoung
Nahel,

а что, 1Ска не умеет формировать глобальные временные таблицы? Или Вы не умеете?

Возможно я не умею формировать гл. временные таблицы делаю это так

"select * into ##tmpDbTabe from Oper"

а вот 1с-ка делает это через свой МенеджерВременныхТаблиц, но выборка в принципе такого же вида

|ВЫБРАТЬ
  |	Спр.Группа,
  |	Спр.Код КАК Код,
  | Поместить ##TempTbl
  |ИЗ

При выболнение 1-го запроса через ADO создается таблица dbo.##tmpDbTabe я так понимаю она глобальная
а вот по средствам 1С-ки создается таблица #t_______00000000031 только подчеркиваний больше
вот является ли она глобальной незнаю.


1С создает локальную таблицу.
1) Может, обмануть 1С-ку? Например, создать глобальную временную таблицу, а потом сделать инсерт туда. Типа,
| Создать ##TempTbl
| Вставить ##TempTbl 
|ВЫБРАТЬ
  |	Спр.Группа,
  |	Спр.Код КАК Код
2) А что мешает создать нормальную таблицу и заливать туда данные, потом чистить?
19 июн 09, 11:33    [7319629]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
HoBTID
Member

Откуда:
Сообщений: 929
Попробуйте такой вариант:
- Получить данные средствами 1С
- Создать глобальную временную таблицу средствами ADO либо использовать постоянную таблицу на SQL
- Записать туда данные средствами ADO
- Обработать нужным образом, загрузка в Oracle и т.д.
- Если создавали временную таблицу - удалить ее, если использовали постоянную - очистить
19 июн 09, 12:04    [7319847]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
VladimirKr
Структура таблиц БД 1С

спасибо буду разбираться!!

Michael_N

1) Может, обмануть 1С-ку? Например, создать глобальную временную таблицу, а потом сделать инсерт туда. Типа,
| Создать ##TempTbl
| Вставить ##TempTbl 
|ВЫБРАТЬ
  |	Спр.Группа,
  |	Спр.Код КАК Код
2) А что мешает создать нормальную таблицу и заливать туда данные, потом чистить?

1. В запросе 1с первый оператор доолжен быть Выбрать/select
2. Средствами 1с ни как

HoBTID
Попробуйте такой вариант:
- Получить данные средствами 1С
- Создать глобальную временную таблицу средствами ADO либо использовать постоянную таблицу на SQL
- Записать туда данные средствами ADO
- Обработать нужным образом, загрузка в Oracle и т.д.
- Если создавали временную таблицу - удалить ее, если использовали постоянную - очистить

пробовали очень медленно

Решил прямым запросом попробовать, главное что начальство потом это одобрило)
19 июн 09, 12:23    [7319952]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
VladimirKr
Member

Откуда: СПб
Сообщений: 1050
Nahel,
Блин заметил только что, ведь только справочник прочитать требуется. Тогда разбирательство структуры займет 10 минут. Однозначно, прямой запрос и без временных таблиц...
19 июн 09, 13:00    [7320227]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
Nahel
Member

Откуда:
Сообщений: 72
VladimirKr,
Спасибо сделал все на прямую через БД. Действительно структура базы 1с-ки проста.
19 июн 09, 14:53    [7321077]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к временной таблице из другой ссэсии  [new]
HoBTID
Member

Откуда:
Сообщений: 929
Nahel
пробовали очень медленно

Понимаю, проблема уже решена, но все же интересно, что именно медленно,
получение данных запросом 1С или запись их во временную таблицу?
19 июн 09, 16:30    [7321846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить