|
1c 8.3 прямой запрос mssql с параметром-таблицей | ☑ | ||
---|---|---|---|---|
0
Бархат
07.07.17
✎
21:11
|
Всем привет.
Ребята, подскажите, пожалуйста, как можно сделать прямой запрос к скулю с уже имеющейся таблицей в виде параметра. ну вообще задача... есть список просроченных паспортов. Загнал его в скуль. Формирую список паспортов из контров и нужно сличить его. Хочу сделать inner join, но не знаю как подсунуть свой список документов с контрами в скуль. Натолкните на мысль. Спасибо. |
|||
1
Бархат
07.07.17
✎
21:16
|
мож там временную таблицу какую можно создать или еще как выкрутиться?
|
|||
2
NuclearWinter
07.07.17
✎
21:55
|
Использовать внешние источники данных например?
|
|||
3
Fram
07.07.17
✎
22:20
|
(1) если есть возможность закинуть текстовый файлик на общий с сервером бд ресурс, тогда выгружай в файл с разд из 1с а потом через bulk insert во врем табл в скуле. Работает очень быстро
|
|||
4
Fram
07.07.17
✎
22:25
|
Обратный результат лучше через ADO GetRows(). В 1с получается массив. Его преобразуем в ТЗ и дальше крути верти в запросах.
|
|||
5
МихаилМ
08.07.17
✎
00:59
|
(0)
создайте временную таблицу в неё вставьте записи паспортов запросом получите выборку совпадений |
|||
6
МихаилМ
08.07.17
✎
01:06
|
+(5) на всяки случай удалите временную таблицу. так культурней.
|
|||
7
Бархат
08.07.17
✎
11:27
|
(6) наверное так и буду делать. (3) Текстовый файлик весит 1,2 Гб с 107 млн записей.
(6) Единственное что, делать таблицу буду наверное с каким-нибудь индексом организации (id какой-нибудь, несколько организаций могут проверять одновременно) и потом удалять таблицу. Тут вопрос еще, вот при создании таблицы нужно записать около 1,2 тыс строк. Это делать в цикле insert-ами или иначе как-то можно? |
|||
8
mexanik_96
08.07.17
✎
11:34
|
(7) да уж конечно. не смеши какой цикл. читай про merge
|
|||
9
МихаилМ
08.07.17
✎
12:20
|
(7)
у Вс же была уже тема пол года назад про тоже самое Поиск в очень большом текстовом файле (1,2 Гб) |
|||
10
Бархат
08.07.17
✎
12:22
|
Да, но там было про файловую систему. с Jet ом подсказали очень здорово! и работало нормально, но сейчас базы собираем на один серв и переделываю механизм.
|
|||
11
youalex
08.07.17
✎
12:35
|
(7) можно через xml. в 1с сформировать xml примерно такой:
в скуле запихнуть его в темп и соединить с исходной таблицей:
можно в хранимку этот скрипт запихнуть, на вход передавать строку xml (параметр) |
|||
12
МихаилМ
08.07.17
✎
12:39
|
изучайте метод AddNew класса рекордсет
дальше https://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/ |
|||
13
Fram
08.07.17
✎
20:15
|
(7) а я (3) для кого написал?
|
|||
14
Бархат
09.07.17
✎
14:31
|
(13) ДА!!! отработало. В скуле всё норм. осталось в 1с забить создание базы, скрипты скульные и дропать.
35 сек на запрос. А на Jet работало минуты 2-3 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |