Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов 
Author Message
little-brother



PostPosted: Tue Oct 26, 2021 18:42    Post subject: Reply with quote

Хорошие вопросы, постараюсь описать подробно.

Плагин работает через ODBC драйвера, представляющие собой dll. Поскольку 32-битное приложение не может использовать 64-битные dll и наоборот, то 32 и 64 драйвера - это разные наборы. Наличие драйверов можно проверить из ODBC-администратора на вкладке Драйверы:
Code:

C:\Windows\odbcad32.exe - для 64-битных
C:\Windows\SysWOW64\odbcad32.exe - для 32-битных

При этом DSN созданные для 32-битной версии будут видны в 64 и наоборот, только вот через них подключиться будет нельзя.

Из коробки Windows x64 имеет 32-битные драйвера для CSV, Excel, Access и MSSQL, и только один 64-битный для MSSQL, поэтому и требуется установка пакета Microsoft Access Database Engine 2010, содержащего 64-битные драйвера. После его установки можно на вкладке Драйвера в в odbcad32 будут добавлены для CSV, Excel и Access.

Data Source Name (DSN) - это по сути описание, как подключаться к базе/файлу. По нему система генерирует строку подключения, но её можно создавать и самостоятельно. Пример строки
Code:

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;


При просмотре не dsn-файла, а к примеру xls, плагин генерирует эту строку самостоятельно. При просмотре dsn файла он читает информацию из этого файла и также генерирует её. Никакой дополнительной информации в списки DSN разумеется не вносится.

Quote:
что значит "путем создания файлового DSN

В ODBC администраторе вы можете создать Файловый DSN (для этого есть отдельная вкладка) - это обычный ini-файл, который можно и самому написать, но администратор не даст вам сделать в нем ошибки, ну и не надо будет искать какие поля заполнять. Полученный dsn-файл можно уже открыть плагином.

Если плагин выдает сообщение, что не может присоединиться, то значит что-то пошло не так. ODBC драйвера не дают какого то внятного описания, да и сам интерфейс весьма путанный. Так что, увы, если не открылся, значит не открылся Very Happy

Скорость работы через ODBC в несколько раз хуже, чем при работе напрямую через родные драйверы или прямо с файлов, в случае с CSV, поскольку после извлечения данных выполняется их преобразование к единому ODBC-формату. Для CSV для файла скорость ODBC меньше где то 4+ раз, но 2000 строк должно открываться быстрее 5с. Так на моем Ryzen2200g файл в 40 000 строк открывается ~3с.

Для CSV данный плагин не слишком удачный выбор, поскольку скорее всего файл в кодировке utf-8, а потому для корректного отображения придется добавлять описание в schema.ini, т.е. требуется отдельная работа. Возможно напишу отдельный плагин для csv.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group