Имя: Пароль:
1C
 
Не получается прочитать текстовик через 'ADODB.Recordset' не срабатывает разделитель
0 Shur1cIT
 
25.10.16
14:53
Чтение идет без ошибок, но колонок нет скорее всего проблема с разделителем, в моём (случае таб) вот процедура,где ошибка?
в параметре Format=TabDelimited точно также как у microsoft написано
https://msdn.microsoft.com/en-us/library/ms709353(v=vs.85).aspx

Функция Прочитать(Папка, ИмяФайла, КолПолей)
    // Параметры:
    // "Папка" - путь к файлу без имени файла с завершающим слешем,
    // "ИмяФайла" - имя файла,
    // "КолПолей" - количество колонок (число).
        Текст = "[" + ИмяФайла + "]
    |ColNameHeader=False
    |Format=TabDelimited
    |TextDelimiter=none
    |CharacterSet=ANSI
    |";
    Для ы = 1 По КолПолей Цикл
        Текст = Текст + "Col" + ы + "=Field" + ы + " Text" + Символы.ПС;
    КонецЦикла;
    ТекстДок = Новый ТекстовыйДокумент;
    ТекстДок.УстановитьТекст(Текст);
    ТекстДок.Записать(Папка + "Schema.ini");
    objRec = Новый COMОбъект("ADODB.Recordset");
    strQuery = "SELECT * FROM [" + ИмяФайла + "]";
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Папка + ";Extended Properties=""text;""";
    adOpenStatic = 3;
    adLockOptimistic = 3;
    adCmdText = 1;
    ТаблЗнач = Новый ТаблицаЗначений;
    Для ы = 1 По КолПолей Цикл
        ТаблЗнач.Колонки.Добавить();
    КонецЦикла;
    objRec.Open(strQuery, strConn, adOpenStatic, adLockOptimistic, adCmdText);
    КолСтрок = objRec.RecordCount;
    Ном = 1;
    Пока Не objRec.EOF Цикл
        Если Ном % 500 = 0 Тогда
            Состояние(ИмяФайла + " " + Ном + " из " + КолСтрок);
        КонецЕсли;
        НовСтр = ТаблЗнач.Добавить();
        Для i=0 По objRec.Fields.Count-1 Цикл
            НовСтр[i] = Строка(objRec.Fields(i).Value);
        КонецЦикла;
        objRec.MoveNext();
        Ном = Ном + 1;
    КонецЦикла;
    objRec.Close();
    Возврат ТаблЗнач;
КонецФункции
1 Лефмихалыч
 
25.10.16
15:00
TextDelimiter=none


и чо это колонок-то нет?..
2 Shur1cIT
 
25.10.16
15:21
(1) думал ято для таблици

поставил

   |ColNameHeader=False
    |Format=TabDelimited
    |TextDelimiter ="+Символы.Таб +"
    |CharacterSet=ANSI
    |";

тоже самое
3 МихаилМ
 
25.10.16
15:23
а зачем adLockOptimistic ?
4 Shur1cIT
 
25.10.16
15:30
(3) прирост в скорости в момент чтения
5 МихаилМ
 
25.10.16
15:33
(4)
неужели быстрее adLockReadOnly
6 Shur1cIT
 
25.10.16
15:36
(5) можно и так

в чем может быть проблема ? почему от разделитель в качестве Таб не хочет использовать?