xBase ... View (Lister plugin)

Форум о самом популярном файловом менеджере Total Commander

Сообщение mutex » Пн мар 01, 2004 3:28 pm

Сейчас плагин работает с файлами DBF, DB, MDB и любыми базами, с к-рыми можно коннектиться через Microsoft OLE DB (или MS ADO).
Есть идея: добавить просмотр XML файлов формата Microsoft ADO.
Но, есть еще XML файлы Борланд и XML файлы Microsoft ADO .NET, с к-рыми не будет совместимости.
Нужно ли, стоить ли ломать копья? - Группа разработчиков.
Кстати, какие есть замечания и пожелания?
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение poiuytr » Вт мар 02, 2004 4:46 pm

Спасибо за интересный плагин!
Про xml умолчу, так как не использую. Расскажу про то, что заметил:
[*] Не понравились кнопки, слишком отдают борландом. Не красиво, вообщем. Интерфейс не распологает.
[*] Вместо диалога выбора таблицы mdb (udl) при заргузке плагина лучше показать TreeView со списком таблиц (с фильтрацией), навигация упростится.
Желаю дальнейших творческих успехов Изображение
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение mutex » Чт мар 04, 2004 7:13 pm

2poiuytr

Насчет "отдает Борландом". Что поделаешь, родимые пятна остаются на всю жизнь.

Спасибо за отличную идею насчет диалога! Не в полной мере, но реализовал в версии 4.1.

Благодарю вас!
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение poiuytr » Пн мар 15, 2004 12:33 pm

Это вам спасибо!

Итак xBase: DBF & UDL View 4.4, ТС6.02, ВинХР.
1. Открываю mdb файл, конвертирую его в DBF, после появляется окошечко, типа все ок, и плагин закрывается. Таблица сконвертировалась, но плагин закрылся.
2. Этот DBF файл создается то на левой то на правой панели ТС, не всегда рядом с конвертируемым файлом. Забавно:)
3. "эффекта Борланда" вполне успешно можно избежать поменяв дефолтные иконки на какие-нибудь покрасивее (конечно это очень субъективно) из shell32.dll от winXP например или <a href='http://www.foood.net/' target='_blank'>отсюда</a>.
4. Чтобы экспортировать в XLS надо проделать странные телодвижения (я о кнопке print), может стоит нажимать ее програмно? Кстати, если выводить информацию об оставшихся рядах по реже, не будет ли экспортирование быстрее (каюсь, исходники не смотел еще)?
5. Экспорт достаточно больших таблиц занимает продолжительное время, в течении которого ТС блокируется. Неудобно.

Есть еще одна мулька, попробую получше это сформулировать. Есть база данных IBM DB2. Есть сформированный UDL для этой базы. Открываю этот UDL и получаю сообщение от плагина: 'Error create window or open database: [DB2/NT] "AMMAS.A_IECIRKNIS" is an undefined name. SQLSTATE = 42704'.
В IBM DB2 существует такое понятие как схема (schema). Можно эту схему рассматривать как префикс имени у таблицы. Так вот, когда в SQL предложении SELECT явно не указано имя схемы ('select * from tabl', вместо 'select * from schema.tabl'), то имя залогиневшегося юзера используется как имя схемы. В моем случае имя юзера было AMMAS. В базе много разных схем, таблица A_IECIRKNIS сидит в какой-то своей схеме. Вот такая вот проблема. Вообщем наверное мне стоит поизучать исходники, чтобы разговор стал предметным.
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение mutex » Вт мар 16, 2004 12:18 am

2 poiuytr
Это здорово! Первые 5 пунктов я понял и буду дорабатывать.
Насчет "еще одной мулки": пришлите мне по mutex@nm.ru этот UDL файл для DB2. Эту мощнейщую СУБД не видел никогда, хотя слышал!!!
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение poiuytr » Вт мар 16, 2004 9:17 am

А вот он, этот UDL.
Код: выделить все
[oledb]
; Everything after this line is an OLE DB initstring
; Собственно провайдер может быть MSDASQL.1 (Microsoft OLE DB Provider
; for ODBC drivers), это не меняет дело.
Provider=IBMDADB2.1;Password=olga;User ID=ammas;Data Source=SAMPLE;Persist Security Info=True


Собственно проблема в SQL предложении, которым ты изначально достаешь таблицу. Может быть стоит дать возможность подправлять его (в ини файле например)?
Добавлено:
А, да, кстати, если Password не указан, то выдается ошибка 'неверный пасворд/юзернейм' (это база данных возвращает) вместо диалога логина.
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение mutex » Ср мар 17, 2004 1:17 am

Ваше письмо получил. Спасибо. Написал ответ, но почему-то до Вас он не идет!
О деле. UDL файл обычный и мне ничего не дал.
> Собственно проблема в SQL предложении, которым ты достаешь таблицу.
> Может быть стоит дать возможность подправлять его (в ини файле например)?
Имена таблиц и видов(т.е.view) я беру из соединения с помощью метода TADOConnection.GetTableNames,
т.е. никакого оператора SQL Select тут нету. Заношу их в список, а из списка выбираю их как имя таблицы, и ADO сама
автоматически строит нужный оператор SQL Select.

Может есть такое решение: надо настраивать Ваш UDL файл на конкретную схему базы.
Я покопался в MSDN и нашел следующую статью:
Q218590
INF: Configuring Data Sources for the Microsoft OLE DB Provider for DB2
Вот маленькая выдержка оттуда:
Default Schema: The name of the collection where the provider looks for catalog information. The OLE DB provider uses
Default Schema to restrict results sets for popular operations, such as enumerating a list of tables in a target collection
(for example, OLE DB IDBSchemaRowset DBSCHEMA_TABLES). Additionally, the OLE DB provider uses Default Schema to build a SQL
SELECT statement for IOpenRowset::OpenRowset requests.
Думаю, Вам надо поискать параметр Default Schema и дать ему значение. В том числе поищите на последней закладке, где
приводятся параметры точной настройки (Extended Properties) конкретной СУБД.
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение poiuytr » Ср мар 17, 2004 8:18 am

Спасибо за идею Default Schema, все получилось.
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение mutex » Вс мар 21, 2004 11:13 pm

Смею надеяться, что развитие плагина xBaseView завершено!
Последние новости версии 4.6:
можно просматривать Excel таблицы;
можно редактировать все типы баз, кроме Excel.

Жду от вас, уважаемые коллеги, сообщении об ошибках!
Можете напрямую послать пиьсмо по mutex@nm.ru
Автор: Е.Савич
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение Strike » Вт мар 23, 2004 12:12 pm

Открывает не все файлы Excel :(
<span style='color:gray'>Чтобы правильно задать вопрос, нужно знать большую часть ответа. © Р. Шекли</span>
Strike
Подполковник
 
Сообщений: 719
Зарегистрирован: Пт ноя 29, 2002 5:51 pm
Откуда: Тбилиси

Сообщение mutex » Вт мар 23, 2004 3:32 pm

2 Strike
Прочтите readme_ru: Вам надо удалить из Екзел-файла все, кроме таблицы, может, тогда удастся прочесть его.
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение poiuytr » Чт мар 25, 2004 9:46 pm

А зачем xBaseView сохраняет свои настройки в totalcmd.ini? Почему не lsplugi.ini, который рекомендут Гислер и путь к которому можно получить имплементировав ListSetDefaultParams? Или почему хотя бы не собственный ини файл рядом с xbaseview.wlx? Зачем, зачем этот одинокий, режущий глаз файл totalcmd.ini в родной папке тотала?
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Смею надеяться, что развитие плагина xBaseView завершено!<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->А я вот надеюсь что автор не забросит плагин. Ведь всегда есть куда разиваться. Всегда.
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение mutex » Чт мар 25, 2004 11:47 pm

2 poiuytr
Да просто, руки не дошли, раз. Ленивость, два. Есть готовый компонентик, к-рый смотрит на ЕХЕ-шник и создает INI-файл там, и с именем ЕХЕ-шника.
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение mutex » Пт мар 26, 2004 8:35 am

2 poiutyr
Увы, поезд уже ушел, народ, надо думать, привык. Поздновато будет изменятся-то...
Одним словом, не хочется. лень... :)
mutex
Старшина
 
Сообщений: 50
Зарегистрирован: Чт фев 12, 2004 5:07 pm
Пункты репутации: 0

Сообщение Spine » Пт мар 26, 2004 9:37 am

Народ НЕ привык, мне этот файлик все глаза измозолил, просто было недосуг разбираться кто его создаёт :angry:
Spine
Лейтенант
 
Сообщений: 84
Зарегистрирован: Вс июл 06, 2003 6:22 am
Пункты репутации: 0

След.

Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6