Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1103280828
revo
2004-12-17 13:53
2005.01.02
Дйствительное число с плавающей запятой


1-1103203366
Pentium133
2004-12-16 16:22
2005.01.02
FindComponent


14-1102772821
kai
2004-12-11 16:47
2005.01.02
отмывание денег


6-1098014219
Ренат
2004-10-17 15:56
2005.01.02
TWebBrowser и TRichEdit


1-1103454459
Logun
2004-12-19 14:07
2005.01.02
Воспроизведение Аудио CD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский