Имя: Пароль:
1C
 
[Драйвер ODBC Paradox] Ошибочная таблица сортировки.
0 RomaH
 
naïve
02.06.16
14:31
Есть БД - предположительно Paradox
По крайней мере Paradox Viewer читает таблицы

Пытаюсь из 1С подключится - пишет:

Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Paradox] Ошибочная таблица сортировки.


    ИмяФайла = "MDT16f01.DB";    
    СтрокаПодключения = "Data Source=T:\MEK_DMS DB\;Extended Properties=Paradox 5.x";
    Провайдер= "Microsoft.Jet.OLEDB.5.0";
    МойЗапрос = "Select * From " + ИмяФайла;

    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.Provider = Провайдер;
    Connection.ConnectionString =  СтрокаПодключения;
    Connection.ConnectionString = "Provider=MSDASQL.1;DRIVER={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=T:\MEK_DMS DB\;Dbq=T:\MEK_DMS DB\;CollatingSequence=ASCII";
    
    Попытка
        Connection.Open();
    Исключение
        Сообщить("Подключение - bad!");
    КонецПопытки;
    
    Command = Новый COMОбъект("ADODB.Command");
    Command.ActiveConnection = Connection;
    Command.CommandText = МойЗапрос;
    Command.CommandType = 1;

    RS = Новый COMОбъект("ADODB.Recordset");
    
    Попытка
        RS = Command.Execute();
        RS.Open(МойЗапрос, Connection );
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;    


может что подскажите?
1 vde69
 
02.06.16
14:33
для начала попробуй патч рееста

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
"DataCodePage"="ANSI"
"BDE"=dword:00000002
2 vde69
 
02.06.16
14:34
только версию джета правильную глянь и комп перегрузи потом
3 ДенисЧ
 
02.06.16
14:34
4 RomaH
 
naïve
02.06.16
14:35
http://dl.dropbox.com/u/70454663/2016-06-02_14h33_44.png
вот вьювер выдает по файлу такую инфу
5 RomaH
 
naïve
03.06.16
07:00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\
такой ветки в реестре вообще нет
создать?
6 vde69
 
03.06.16
12:08
(5) нет, если нет джета то патч не нужен....
7 RomaH
 
naïve
03.06.16
12:37
и как быть? чем и как прочитать файл?
8 RomaH
 
naïve
21.06.16
07:10
вот

    ИмяКаталога = "C:\NihonKohden\DMS-Pro\MEK_DMS DB\";
    СтрокаПодключения =  
    "
    |Driver={Microsoft Paradox Driver (*.db )};
    |Fil=Paradox 7.X;
    |DefaultDir=" + ИмяКаталога + ";
    |Dbq=" + ИмяКаталога + ";
    |VERSION = 7.0;
    |LEVEL=Level 7;
    |Exclusive=No;
    |STMT=SET CHARACTER SET cp866
    |";
    
    Connection = Новый COMОбъект("ADODB.Connection");
    Catalog  = Новый COMОбъект("ADOX.Catalog");
    Попытка
        Catalog.ActiveConnection  = СтрокаПодключения;
        Connection.Open(СтрокаПодключения);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат ;
    КонецПопытки;        
    
    ИмяТаблицы = "MDT00x00";
    ИмяТаблицы = "MDT" + Прав(Год(Объект.Дата),2) + СоответсвиеМесяцев[Месяц(Объект.Дата)] + День(Объект.Дата);
    
    //CONVERT(`iArt` USING cp1251)
    
    ТекстЗапроса   = "SELECT * FROM "+СокрЛП(ИмяТаблицы);

    Попытка
        
        СтруктураТаблицы = Новый Соответствие;
        
        Command = Новый COMОбъект("ADODB.Command");
        Command.ActiveConnection = Connection;
        RecordSet = Новый COMОбъект("ADODB.RecordSet");
        Command.CommandText = ТекстЗапроса;
        RecordSet = Command.Execute();
        
        // Перебор данных
        RecordSet.MoveFirst();                
        
        Пока RecordSet.EOF() = 0 Цикл

параллельно работает программа которая исходная для БД
вот пока она работает - выдает вышеуказанную ошибку про сортировку
выключили - все нормально читается
и как тут быть?
9 RomaH
 
naïve
21.06.16
07:12
ну и кириллицу не понимает
10 ILM
 
гуру
21.06.16
08:35
Через БДЕ подключайтесь. там лок файл есть при открытии базы он и не дает прочитать таблицы.
11 RomaH
 
naïve
21.06.16
09:39
Через БДЕ - это где?
12 mehfk
 
21.06.16
10:45