Имя: Пароль:
1C
1С v8
проблема с чтением csv на Win 2008 Server R2 x64 , читает только первое поле
0 Длинный Клиент
 
10.12.12
22:11
Файлик на входе с такими строчками :

"1";"2";"3";"4";"5";"6";"7";"8";"9"

На 32-битном Win 2003 работает отлично :

objRec = Новый COMОбъект("ADODB.Recordset");
strQuery = "SELECT * FROM [" + ИмяФайла + "]";
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Папка + ";Extended Properties=""text;HDR=NO;""";
adOpenStatic = 3;
adLockOptimistic = 3;
adCmdText = 1;
objRec.Open(strQuery, strConn, adOpenStatic, adLockOptimistic,adCmdText);

Возвращает нормально 9 колонок: objRec.fields.count=9

А на 2008 64-битном сервере возвращает 1, первую колонку: objRec.fields.count=1

Менял на "Provider=Microsoft.Ace.OLEDB.12.0;" то же самое.

Как пофиксить ?
1 Длинный Клиент
 
10.12.12
22:12
Файлик на входе с такими строчками :

"1";"2";"3";"4";"5";"6";"7";"8";"9"
"1";"2";"3";"4";"5";"6";"7";"8";"9"
"1";"2";"3";"4";"5";"6";"7";"8";"9"
"1";"2";"3";"4";"5";"6";"7";"8";"9"

разумеется
2 Длинный Клиент
 
10.12.12
23:01
Текст = "[" + ИмяФайла + "]
   |ColNameHeader=FALSE
   |Format=Delimited(;)
   |TextDelimiter=none
   |CharacterSet=ANSI
   |";
   Для ы = 1 По КолПолей Цикл
       Текст = Текст + "Col" + ы + "=Field" + ы + " Text" + Символы.ПС;
   КонецЦикла;
   ТекстДок = Новый ТекстовыйДокумент;
   ТекстДок.УстановитьТекст(Текст);
   ТекстДок.Записать(Папка + "Schema.ini");
3 Длинный Клиент
 
12.12.12
19:04
Решение нашлось - залез в реестр, там поиском "JET", там в где-то в параметре "текст" разделитель ";" поставить вместо csvdelimiter
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.