Текущий архив: 2003.08.21;
Скачать: CL | DM;
Вниз
MS Jet 4.0 Найти похожие ветки
← →
Alexey Nepryahin (2003-07-23 19:00) [0]Народ обясните как мне перенести базу написанную под Jet 4.0 (Access XP) в Jet 3.5 (Access 97), вся проблема при создании таблици SQL запросом в создани автоинкрементного поля.
пытаюсь сделать так:
with MainData.ADOQuery3 do
надо чтоб в Jet 3.5 усё работало
begin
Active := False;
SQL.Clear;
SQL.Add("DROP TABLE TEMP");
ExecSQL;
SQL.Clear;
SQL.Add("CREATE TABLE temp ("+
" [id] int IDENTITY (1, 1) NOT NULL,"+
" [name] varchar (250) NOT NULL ," +
" [price] money NULL," +
" [cnt] int NULL," +
" [d_id] varchar (50) NOT NULL," +
" [group] varchar(50) null," +
" [subgroup] varchar(50) null)");
ExecSQL;
SQL.Clear;
SQL.Add("SELECT * FROM [Temp]");
Active := True;
end;
← →
sniknik (2003-07-23 19:18) [1]а волшебное слово?
вернее слова, что у тебя в невысказанных "после ExecSQL происходит ошибка "... ххх ... xxx ...""
хотелось бы услышать (я не настаиваю, ваше дело конечно, но хотелось бы)
← →
Котелок (2003-07-24 09:16) [2]А ADOQuery разве работает когда оно не активно?
Сам просто не когда такой гадостью не пользуюсь, но проичие как-то не работают.
2sniknik
А Вы не ёрничайте:-Р Знаете срази и говорите:-)
← →
Alexey Nepryahin (2003-07-24 09:31) [3]sniknik © С MS Jet 4.0 ошибка не выскакивает, а с 3.5 говорить что неправильное определение таблицы.
← →
Alexey Nepryahin (2003-07-24 09:32) [4]Котелок работает:) ExecSQL озночает выполнить инструкцию которая не возвращает данных (с
SELECT * FROM [table_name]
выдаст ошибку, а так нет:) )
← →
sniknik (2003-07-24 11:28) [5]Котелок (24.07.03 09:16)
> А Вы не ёрничайте:-Р Знаете срази и говорите:-)
в том то и дело. не знаю. и ошибок у меня на данный запрос никаких не выдает. а по ней можно о многом судить.
(jet-а 3-го нет проверял просто на базе 97й, и на дополнительном исаме 3.x ->
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\niss.mdb;Extended Properties= Jet 3.x;Persist Security Info=False
(вроде как бы родной 3.5))
на "чистом" 3.5 возможности проверить нет, ну пока гденибудь систему не будем переставлять. (подожди немного ;о)), месяц так два, гдето)
> С MS Jet 4.0 ошибка не выскакивает, а с 3.5 говорить что неправильное определение таблицы.
вот именно так? а по буквам срисовать? в ошибке должно быть больше информации, чем просто "неправильное определение".
обшие рекомендации, измени запрос (для проверки только), убери "лишнее" (null, NOT NULL), обрезай поля (по одному), поменяй типы (к примеру вместо int integer, varchar char) ... т.д. вобщем выясни что именно ему не нравится.
← →
Alexey Nepryahin (2003-07-25 20:52) [6]sniknik © Пробовал... на автоинкрементном поле он и ругаеться:(( мне просто надо где-то найти описание диалекста SQL MS Jet 3.5, т.к. у меня Оффис ХР то тама есть тока описание 4 версии :((
← →
Beginner3000 (2003-07-26 00:35) [7]Jet 4 вроде со всеми форматами работает
зачем переносить?
у меня на работе win98se + Office97sp2b -> с jet4
откуда вы вообще jet 3.5 взяли
кстати там же тем же джетом все базы Access2000,Access2002
понимаются
з.ы.
а в коде нет точки с запятой
может она для одной строки не нужна, а может и нужна
не знаю
но всё равно не повредит
← →
Beginner3000 (2003-07-26 00:40) [8]А на автоинкрементном поле он и должен ругаться
это глюк такой описанный
(для аксеса97 не для джета)
вроде даже ничем не лечится
← →
sniknik (2003-07-26 01:28) [9]Alexey Nepryahin © (25.07.03 20:52)
> sniknik © Пробовал... на автоинкрементном поле он и ругаеться:((....
как ругается, дословно? "не хочу иметь дело с идиотом" так чтоли? ты пойми я ее не ВИЖУ! и ситуацию твою не представляю. (у меня то работает) т.е. реально пока не ее не покажеш ничего посоветовать не смогу. (и никто другой тоже не сможет, если конечно ради тебя не решит систему переставить и попробовать твой запрос на 3.5)
хорошо хоть поле сказал, попробуй вместо
вместо
CREATE TABLE temp ("+
" [id] int IDENTITY (1, 1) NOT NULL,"+
...
CREATE TABLE temp ("+
" id Autoincrement,"+
....
и еше скажи, 3.5 у тебя вместе с 4,0? или на разных компах пробуеш? (теоретически 3.5 четвертым заменяется но у меня был однажды глюк когда он остался но был полностью нерабочий, так просто ветка в реестре. убилась NUтилитами)
в связи с этим, на 3.5 у тебя есть запросы которые срабатывают? как я уже просил > обрезай поля (по одному), так если убрать IDENTITY работает? или будет давать ошибку на следующее ставшее первым поле? именно в 3.5.
> найти описание диалекста SQL MS Jet 3.5
сайт майкософта открыт для чтения и поиска.
← →
Alexey Nepryahin (2003-07-26 13:58) [10]sniknik © у меня на компе оба и 3.5 и 4.0 стоят и оба рабочие... а вот у заказчика Оффис 97 и Джет 3.5 и не пашет прога... ругаеться ошибка в определении поля, методом исключения понял что на автоинкременте вылезает ошибка:((
Страницы: 1 вся ветка
Текущий архив: 2003.08.21;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.012 c