Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 SQL expression is too complex (Error 1845)  [new]
Молодой Я
Member

Откуда: Минск, Беларусь
Сообщений: 54
Ситуация такая: Имеем VFP 8, Oracle 9.2 и DBF-ник. Необходимо из таблицы Oracle вытянуть данные и Запихнуть их в DBF-ник. Для этого SQLEXEC-ом вытаскиваю данные в курсор. Полей всего 207 как в таблице Oracle, так и в DBF-нике. После этого выполняю в Фоксе
Insert into таблицаDBF (список полей) select список полей from (курсор)
Ну и из-за того, что полей 207, получаем огроменное предложение insert, а в итоге Error 1845.
Как быть? Плиз, Хелп...
1 дек 04, 15:38    [1150079]     Ответить | Цитировать Сообщить модератору
 Re: SQL expression is too complex (Error 1845)  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Разбей свою команду на несколько последовательных команд:

select курсор
SCAN
	select MyTab
	APPEND BLANK
	REPLACE Field1 WITH курсор.Field1, ;
		Field2 WITH курсор.Field2, ;
		Field3 WITH курсор.Field3
	REPLACE Field4 WITH курсор.Field4, ;
		Field5 WITH курсор.Field5, ;
		Field6 WITH курсор.Field6
ENDSCAN

Или используй APPEND FROM если имена курсора совпадают с именами полей таблицы

select MyTab
APPEND FROM (DBF('курсор'))
1 дек 04, 15:50    [1150120]     Ответить | Цитировать Сообщить модератору
 Re: SQL expression is too complex (Error 1845)  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi Молодой Я!

SYS(3055) не поможет? Увеличь до 2000... Хотя тут и нету явных операций
сравнения, но как внутренне реализовано INSERT ... SELECT ... я не в курсе,
может это и влияет... Кстати если поля одинаковые то зачем их перечислять?
Просто при создании выборки сделай там порядок такой-же и всё :)

Posted via ActualForum NNTP Server 1.1

2 дек 04, 03:37    [1151068]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить