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

Вниз

из txt файла в Access (синтаксис SQL запроса)   Найти похожие ветки 

 
koreshok   (2003-09-02 19:03) [0]

есть текстовый файл, есть БД Access.
пытаюсь вставить все записи из текстового файла в БД. делаю это так
ADOQuery2.SQL.Add("INSERT INTO MainTable(Source, Dest, Bytes, Packet) IN """+st+"""");
ADOQuery2.SQL.Add(" SELECT Source, Dest, Bytes, Packet FROM ""logWcvs"""); // st - это файл с БД Access

ADOConnection2.ConnectionString - указывает на тектовый дривер Микрософт.
вылетает ошибка
"[Microsoft][ODBC text driver] syntax error in query. Incomplete query clause"
что пишу не так ?


 
kuchumovkv   (2003-09-02 19:12) [1]

Для начала попробуй узнать, в какой строке ошибка. И, MainTable - это в mdb, как понял, а что такое logWcvs?


 
koreshok   (2003-09-02 19:18) [2]


> Для начала попробуй узнать, в какой строке ошибка

а как это сделать?
[Microsoft][ODBC text driver] он знает только путь к "типа" БД, и знает расширения файлов, которые являются его таблицами. (по крайней мере я так понял), так вот logWcvs - это есть файл logWcvs.txt. в файле DSN указан путь к базе и расширение таблиц TXT, т.е. logWcvs это и есть текстовая таблица.


 
kuchumovkv   (2003-09-02 19:40) [3]

К сожалению, не знаком с ньюансами систаксиса SQL для [ODBC text driver], а их для каждых дров более чем предостаточно, намучался с дровами для дбф-ок.
SELECT Source, Dest, Bytes, Packet FROM ""logWcvs"" как понимаю образует рекордсет для вставки в mdb, попробуй выполнить сначала его отдельно, без инсерта, так и узнаешь, в какой части глюк (я уверен, что именно в нем).
Второе, может вместо ""logWcvs"" - """logWcvs""", структура конструкции наводит на такое размышление, или """ вместо """, но это уже голые предположения, хотя зачастую такой метод приводит к результату. Лучше, конечно, хелп перед глазами.


 
koreshok   (2003-09-02 19:48) [4]


> Лучше, конечно, хелп перед глазами

а где взять эти самые "ньюансы"?
ошибка и точно в SELECT, но таже самая:(


 
kuchumovkv   (2003-09-02 19:58) [5]

Это точно ошибка синтаксиса! А без шуток, "ньюансы", как показывает опыт, познаются методом проб и ошибок. SQL только кажется универсальным. Исчерпывающей документации ни по одним дровам не видел.

Кстати, где ты взял именно такую форму синтаксиса? Пошукай там, может что и бросится в глаза.

Попробуй выполнять запрос в явном виде (имя файла "z:\jjj.txt", напр, и т.д., апострофы, опять же), "select * ..." и т.д. Удачи.


 
sniknik   (2003-09-02 20:38) [6]

можно узнать в JETSQL40.CHM если найдеш на своей машине, но это только из Access базы (mdb) подключенном через Jet можно текст вкачать, обратной ситуации типа (из текста) доступа к "верхним" (Access, MsSql) базам нет.
т.е. надо из Access доступ к txt делать.


 
koreshok   (2003-09-02 20:39) [7]

ошибку нашел
ADOQuery2.SQL.Add("INSERT INTO MainTable(Source, Dest, Bytes, Packet) IN """+st+"""");
ADOQuery2.SQL.Add("SELECT logWcvs.Source, logWcvs.Dest, logWcvs.Bytes, logWcvs.Packet FROM logWcvs.txt logWcvs");


просто открыл Microsoft Query, мастером создал запрос и посмотрел синтаксис (оказывается иногда думать полезно)


 
koreshok   (2003-09-02 20:49) [8]

2 sniknik оказывается можно и из тхт а Аксес загнать:) у меня получилось.


 
sniknik   (2003-09-02 21:31) [9]

koreshok (02.09.03 20:49) [8]
хочеш сказать у тебя основное подключение к тексту, и из него к Access базе обращение? покажи.


 
sniknik   (2003-09-02 21:45) [10]

а впрочем не надо, действительно получилось
коннект к тексту
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties= Text;Persist Security Info=False
запрос
SELECT * INTO Box123 IN "D:\Base.mdb" FROM BOX#TXT

оказывается можно а я просто не пробовал.



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

Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
1-82180
Wapo
2003-09-12 21:36
2003.09.25
Вопрос с компонентом


3-82063
Владий
2003-09-02 15:34
2003.09.25
Как запихнуть картинку в Access-базу?...


14-82435
Дон Хуан
2003-08-21 18:35
2003.09.25
---|Ветка была без названия|---


4-82546
DelBoy
2003-07-22 22:46
2003.09.25
Получить Хендл предыдущего окна


3-82141
Ditrix
2003-09-03 12:22
2003.09.25
фриварен ли FBPLUS ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский