Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
asp
Зарегистрирован: 09.11.2007 Сообщения: 2
|
Добавлено: Пт Ноя 09, 2007 1:44 pm Заголовок сообщения: Выборка из БД - в MapInfo |
|
|
Привет!
Надо объекты текущей выборки из БД (MS SQL) выбрать на карте MapInfo. Объекты БД и слоя MapInfo связаны по составному ключу. Работа идет средствами интегрированной картографии следующим образом:
mapinfo.do('select * from xxx where (id1 = val11 and id2 = val12 and id3 = val3) or (id1 = val21 and id2 = val22 and id3 = val23) or ... or (id1 = valn1 and id2 = valn2 and id3 = valn3) into ZoomObject');
mapinfo.do('Add Map Layer ZoomObject');
mapinfo.do('Set Map Zoom Entire Layer ZoomObject');
mapinfo.do('Remove Map Layer ZoomObject');
Небольшие выборки таким образом отображаются нормально. Но при больших выборках - ошибка "Слишком сложное выражение". Это ограничение на длину строки или на количество условий в where? Как обычно решаются подобные задачи? |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Пн Ноя 12, 2007 12:13 am Заголовок сообщения: |
|
|
а почему-бы не засунуть все сложные ключи во временную таблицу, а в основном select написать типа ... where id1+id2+id3 in (select complexkey from tmptable) |
|
Вернуться к началу |
|
|
asp
Зарегистрирован: 09.11.2007 Сообщения: 2
|
Добавлено: Ср Ноя 14, 2007 11:58 am Заголовок сообщения: |
|
|
Да, видимо так и придется сделать. Просто хотелось обойтись без временной таблицы |
|
Вернуться к началу |
|
|
|