Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

ADO+MSAccess. Длинный запрос   Найти похожие ветки 

 
msguns ©   (2004-12-02 13:12) [0]

Есть длинный запрос (в смысле многосимвольный). Вылетает по AV в модуле OLEAUT32.dll
Сокращаю кол-во полей, участвующих в запросе - все Ok

В чем дело, подскажите, пожалуйста.

На всякий случай текст запроса (выполняю ADOCommand)

INSERT INTO Fonds ( FID, ArcID, Country, Letter, FondNumber, FondType, Category, StartDate, EndDate, FondSize, DontInvent, Microfished, Secret, Availability, PassTo, PassLetter, PassNumber, JoinLetter, JoinNumber )
SELECT IID, ArcID, Country, Letter, FondNumber, FondType, Category, SDate, EDate, FSize, QDI, QMF, QS, Avl, PassT, PassL, PassN, JoinL, JoinN
FROM F IN "e:\DMsArch\FondsCmp\ReplDB\repdb.mdb";


В аксесе пролетает на ура.

Стоит убрать из запроса 7 последних полей - катит и в джете.


 
msguns ©   (2004-12-02 15:44) [1]

Разобрался, блиииииииииииннннн !
Дааа, ну акцес (джет ?) это вааще.

Дело, как и подозревалось, не в кол-ве символов, а в хитростях работы джета с атоинкрементыми первичными ключами.

В общем, так не проходит:
1. DELETE FROM TABLE
2. INSERT INTO TABLE ... SELECT ... FROM ... IN <Path>

А так за милую душу:
1. DELETE FROM TABLE
2. INSERT INTO TABLE ID VALUES(1)
3. DELETE FROM TABLE WHERE ID=1
4. INSERT INTO TABLE ... SELECT ... FROM ... IN <Path>

Что это за фигня такая ? Нет желающих прокомментировать ?

ЗЫ. При пуске запросов непосредственно из аксеса никакие промежуточные фрикции не требуются ;)


 
sniknik ©   (2004-12-02 16:12) [2]

> Что это за фигня такая ? Нет желающих прокомментировать ?
пришлю программу провериш в ней? после (если подтвердится) вышлеш базы с выделенным глюком (перой используемых таблиц)?
после возможно дойдет и до коментариев. ;о)))

а пока проверь так.
1. DELETE FROM TABLE
2. 3. sleep(5000); (в дельфях не в запросе)
4. INSERT INTO TABLE ... SELECT ... FROM ... IN <Path>


 
msguns ©   (2004-12-02 16:54) [3]

>sniknik ©   (02.12.04 16:12) [2]

Причем тут пауза ? Я запросы тупо запускал из сиквел-эксплорера.
Паузы были минут по 10-15 (ходил курить и думать)

Да и приложение мое тоже не причем.

Более того. После AV в эксплорере я его переоткрывал, после чего переоткрывал базу. Так вот, после переоткрытия и начиналась вся эта хрень. Стоило мне вставить-удалить суррогатный рекорд и пожалуйста: девочка моя ! Хоть сверху, хоть сбоку, хоть кверхногами: любые запросы пролетают как фанеры над Парижем. Затем дисконнект+коннект и опять без суррогата никаким манером не хочить. Вот так-то..


 
sniknik ©   (2004-12-02 23:35) [4]

вот это и предлогал проверить. ну нет так нет.
а пока у тебя все уровне чуда, бездоказательно но предлагаеш верить... только потому что сам видел, а я не видел верить трудно.

кстати что за "сиквел-эксплорер" для аксесс базы, откуда?


 
msguns ©   (2004-12-03 10:26) [5]

>sniknik ©   (02.12.04 23:35) [4]
>кстати что за "сиквел-эксплорер" для аксесс базы, откуда?

Из "джентльменского" набора от Борланда (D6 vr.Ent)
Работает не только с аксесом, типа универсальный.
Удобен при отладке запросов. Правда, трошки глючен, но кто не без греха ?


 
Erik1 ©   (2004-12-03 12:34) [6]

Вобщето надо проверять такие вещи непосредственно под MsJet, а не через ADO гонять. Создать такой запрос в MsAccess и выполнить из delphi через компонент TADOStoredProc или нативный из Diamond. И непредлагать для проверки какойто глючный "сиквел-эксплорер".


 
sniknik ©   (2004-12-03 21:45) [7]

> Из "джентльменского" набора от Борланда (D6 vr.Ent)
не нашол такого... (D7 vr.Ent)
если только ты имееш ввиду SQL Explorer... ну так причем здесь jet и ADO[Command]? он под BDE работает, через свой драйвер, или если через DSN ODBC то всеодно пара лишних посредников в связке (ODBC и BDE).

> ... непосредственно под MsJet, а не через ADO гонять.
c ADO то как раз jet нормально работает, подобных глюков и на больших запросах не замечал.
> И непредлагать для проверки какойто глючный "сиквел-эксплорер".
правильно, я вот как раз предлагал проверить в своей программе в которой уверен (и которая точно ADO+Jet/любой OLE DB провайдер).



Страницы: 1 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
4-1100606813
FRick
2004-11-16 15:06
2005.01.02
Пройгрование AVI файлов в любой системе


14-1103178561
Ego
2004-12-16 09:29
2005.01.02
Тем, кто отвечает на вопросы


1-1103289396
tytus
2004-12-17 16:16
2005.01.02
ShellTreeView


3-1101982342
msguns
2004-12-02 13:12
2005.01.02
ADO+MSAccess. Длинный запрос


11-1084616878
hammer
2004-05-15 14:27
2005.01.02
Глючит Delphi c kol ом