Загрузка текстового файла в MS ACCESS TABLE с использованием Delphi - PullRequest
0 голосов
/ 21 октября 2011

У меня возникают некоторые проблемы при попытке загрузить текстовый файл с разделителями табуляции в таблицу базы данных MS ACCESS с помощью Delphi.

До сих пор мне удавалось создать новую базу данных Access и таблицу, но когда я пытаюсь загрузить данные, я получаю EOLeException с сообщением:

'Оператор INSERT INTO содержит следующее неизвестное имя поля:' FIELD1_FIELD2_FIELD3 _... '

Мой код выглядит следующим образом:

cs := 'insert into TABLENAME(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6, FIELD7,      FIELD8, FIELD9, FIELD10, FIELD11, FIELD12, FIELD13, FIELD14, FIELD15) select * from [FILENAME.txt] in "' + EditJobLocation.Text + '"  "Text;HDR=Yes"';
ADOCommand2.CommandText := cs;
try
   ADOCommand2.Execute;
etc...

Не уверен, в чем проблема, но я думаю, что это связано с частью 'select *', возвращающей все поля как одну строку с подчеркиванием.

Я гуглил, пытаясь найти ответы на некоторые вопросы, но пока ничего не нашел.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 21 октября 2011

Предложение: попробуйте удалить часть insert, оставив только часть select * from..., например.

cs := 'select * from [FILENAME.txt] in "' + EditJobLocation.Text + '"  "Text;HDR=Yes"';

Используйте этот пересмотренный оператор SQL, чтобы открыть объект набора записей. Если это удастся, проверьте коллекцию набора записей Fields: то есть, сколько столбцов вернулось, их имена, их порядковые позиции и т. Д.

Надеюсь, это определит, связана ли проблема с извлечением данных из текстового файла или с действием вставки.

p.s. если вы этого еще не сделали, изучите использование файла schema.ini, чтобы лучше контролировать, как Access «видит» данные текстового файла с точки зрения столбцов и их типов данных.

...