Имя: Пароль:
1C
1С v8
Внешние источники данных. Текстовый файл.
,
0 Poky
 
08.11.12
09:59
Доброго дня.
Такая проблема: пытаюсь через новый объект метаданных "Внешний источник данных" приконнектиться к текстовому файлу для чтения из него данных запросом. НО
1 Poky
 
08.11.12
10:02
В момент установки соединения возникает следующая ошибка:

{Форма.Форма.Форма(200)}: Ошибка при вызове метода контекста (УстановитьСоединение)
   ВнешниеИсточникиДанных.ФайлTXT.УстановитьСоединение();
по причине:

по причине:
Ошибка ODBC. SQLSTATE: HY024
Номер ошибки: -1023
Описание: [Microsoft][Драйвер ODBC Текст] Строка '(нет данных)' задает ошибочный путь.  Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы.

Подозреваю что у таблицы внешнего источника данных ошибочно указано "имя в источнике данных".

Подскажите, что там нужно прописывать для текстового файла?
2 cw014
 
08.11.12
10:09
Я так понимаю что путь к файлу
3 Oleg_Kag
 
08.11.12
10:11
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать("C://1.txt");
Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
КонецЦикла;
4 Poky
 
08.11.12
10:14
(2) Вообще путь к файлу задается в строке соединения:

пСоед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
пСоед.СтрокаСоединения = "Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=C:\Срез.txt;";

На всякий случай попробовал - та же ошибка ((
5 Poky
 
08.11.12
10:15
(3) Файлы будут большие, перебором будет долго
6 cw014
 
08.11.12
10:18
(4) Построй строку соединения через сам ODBC и посмотри, что в ней
7 Poky
 
08.11.12
10:29
(6) Подскажите, как это сделать?
8 cw014
 
08.11.12
10:30
Через Пуск->Панель управления->Администрирование->Источники данных ODBC
9 Poky
 
08.11.12
10:34
(8) До сюда я дошел, а дальше?
10 cw014
 
08.11.12
10:35
Там где то можно посмотреть, как формируется ConnectionString
11 Poky
 
08.11.12
10:40
(10) Только вот где? никак не могу найти
12 Poky
 
08.11.12
12:58
Оказалось вот в чем дело:

СтрокаСоединения = "DRIVER={Microsoft Text Driver (*.txt; *.csv)}; DBQ=C:\"

Имя в источнике данных у таблицы задается "Срез.txt"
13 Poky
 
08.11.12
13:03
Рано обрадовался, коннект проходит, но теперь стала появляться ошибка когда выполняется запрос к внешнему источнику данных:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    Срез.Период,
|    Срез.Сумма
|ИЗ
|    ВнешнийИсточникДанных.ФайлTXT.Таблица.Срез КАК СрезРезерва";
Результат = Запрос.Выполнить().Выгрузить();
по причине:

по причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: -3506
Описание: [Microsoft][Драйвер ODBC Текст] Ошибка синтаксиса в предложении FROM.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший