DBLister readme

DBLister Plugin v2.01
This plugin enables you to browse and edit database tables of several types.

- Native mode direct access

- MySQL 3.20 - 4.1 (3.23 and 4.0 tested)
- PostgreSQL 6.5 - 7.3
- Firebird 1.0 - 1.5 (1.5 tested)
- Interbase 5.0 - 7.5 (6.0 tested)
- Microsoft SQL Server 7, 2000 (7.0 tested)
- Sybase ASE 12.0, 12.5

- Any ODBC database through either a .DSN link file or the file system plugin
- Any server with an OLEDB provider through the file system plugin. MySQL and MSSQL support is built in, but you can add your own
- FlashFiler server databases and BDE aliases using the file system plugin
- FlashFiler 2 (view .FF2 files without a server)
- Paradox DB
- dBase and FoxPro DBF
- Microsoft Access

This plugin lets you:

- Browse and edit data
- View table structure
- View indexes and sort your data by them when applicable
- Browse through servers and databases

We've also included a database viewer application for use when you're not running Total Commander.
If you want more, send us an e-mail and we'll take your request into consideration!
System requirements
The plugin requires Total Commander 5.5+
Browsing Paradox, dBase or FoxPro tables requires an installed Borland Database Engine.
Browsing an Access or ODBC table requires that ADO is installed on that computer. So does using OLEDB.
Native mode access to a database requires that the correct drivers are installed. Using MySQL requires a DLL named libmysqlXXX.dll, where XXX is either 320, 323 or 400. Just copy your libMySQL.dll into the system folder with the required name.
Database name restrictions
Database servers that use path names to access databases are treated specially. A path name can't be displayed or treated as a sub directory, so it's 'mangled' into an acceptable form. This doesn't look good, but you can avoid this by creating an 'alias' for the database(s) that you want to access.
Installation
Install the lister plugin like this:

1. Unzip the contents of this archive into a directory (we suggest the Total Commander directory)
2. Locate a supported database table in Total Commander. Bring it into the Lister with F3. You could view any file, but using a table gives more feedback.
3. Choose Configure from the Options menu
4. Click the LS-Plugins button
5. Press the Add button
6. Locate the DBLister.wlx file in the directory where you unzipped it and click Open.
7. Click the OK button to close the Lister Plugins dialog, and the other OK button to close Configure.

If you've done everything right, the garbled display should clear magically into a readable database table, with most columns accessible.
Install the file system plugin like this:

1. Unzip the archive as described above, if you haven't already done so.
2. Add the plugin to Total Commander:
   1. Choose Options from the Configuration menu
   2. Locate and click the FS Plugins button. It's in the Functions branch in Total Commander 6+.
   3. Click the Add button
   4. Browse to and open DBLister.wfx

Select the Network item in one of the drive selectors. DBLister should appear in the list.
Install the applications like this (only necesary if you want to run the applications):

1. Unzip the archive as described above, if you haven't already done so.
2. Run the SetupDBLister.exe file if you want icons to be created on the Start menu

You can run the SetupDBLister.exe program again to uninstall the application settings.
Lister shortcuts
Viewing tables from an ODBC data source
Create a .DSN file like this:

1. Open Control Panel/Administrative Tools/Data sources (might be marked ODBC)
2. Click the File DSN tab
3. Click Add
4. Select the driver you want, and click Next
5. Click the Browse button, and choose where your finished .DSN file will be saved
6. Click Next, and then Finish to proceed to driver specific setup

Once you go through the above process, a .DSN file should appear in the location you selected. Don't be alarmed if it doesn't show up in the box in the Data sources applet, this only shows files in it's own location.
Viewing this .DSN file in DBLister will bring you right into the database.
Want even more ease of use? If you often view the same table, you can export a list of the tables from the ODBC database, and then view that exported file to load the table directly, without selecting it first.
Viewing tables from databases opened in the file system plugin
Creating shortcuts to these tables are easy as pie - just select the tables you want and copy the 'files' to your hard disk. View any of these files, and you'll see the table in it's associated viewer.
The lister window
The listing of a database table is shown in a window with four tabs, as follows:

Data tab
  Here you see the data contained in your table. Memo fields are listed below the grid, and can of course be edited. BLOB fields of other kinds are not yet shown.
Structure tab
  This tab shows all fields in the table, with their types and sizes.
Indexes tab
  All indexes of your table is listed here, and you can see what fields they're comprised of. You can also double-click an index to see your data sorted by that index.
About tab
  Version and copyright information is shown, as well as a link to the CommSoft web site at www.commsoft.nu.

Lister and keyboard input
Having all keyboard activity sent to Total Commander (as it is by default) may not always be ideal. DBLister doesn't send keys when you've already begun editing a record, but this sometimes isn't enough. The data grid takes any key to begin editing, but some keys (1-5, others) will cause Total Commander to leave the plugin. So each lister window has a checkbox at the top to toggle whether keys are sent to Total Commander or not. If you want this to be unchecked by default, you can change this in the Preferences for the plugin.
File system plugin
The first thing you see is a list of 'drivers', or data sources that DBLister can connect to. You can execute the "!Preferences.cmd" file to select which ones you want to see, and to change how commands are presented.
Many drivers lets you add your own servers. Execute the "!Register server.cmd" file to do this. You can edit the server settings by displaying the property sheet for the 'directory'.
Some native mode drivers require you to manually add the databases that you want to access. Do so by executing the !Register database.cmd file. For MySQL and MSSQL servers, you can execute the !Update database listing.cmd file to get a list of all databases.
Once you've drilled down so that you're seeing a server or an individual database/alias, a file named "!Disconnect.cmd" appears in each directory. Execute this file if you're done with the database/server and want to disconnect from it.
Extending DBLister with your own OLEDB provider
Doing this requires a fair amount of knowledge about the OLEDB provider that you want to use, and of the database server that it connects to. The reason for this is that each OLEDB provider requires its own format for the connection string, and each database server has its own way to get a database list. Let's dive right in with a sample. We'll add the "My MySQL" provider, which isn't really useful but goes to show how to add a provider. Begin the process by executing the "!Register OLEDB provider.cmd" file.
Enter the following in the form that displays:

Entry | Value | Explanation
--- | --- | ---
Display name | My MySQL | A descriptive name that can contain most any characters
Short name | MyMySQL | Shorter name which can only contain letters A-Z and numbers.
Connection string template | Provider=MySqlProv.3.0;Data Source=%DB%;Integrated Security="";Password="%password%";User ID=%username%;Location=%server%;Extended Properties="" | Used to create the final connection string that's used when connecting to this provider.
List databases command | SHOW DATABASES | The command that results in a list of all databases on the server
Field name with database name | Database | The list databases command results in a dataset that may contain any number of fields. This value is the name of the field that has the database name in it.

Values in the connection string template:

Value | Explanation
--- | ---
%DB% | The database that is to be used
%password% | Your password
%username% | Your user name
%server% | The server that you'll connect to

The easiest way to construct the value for the connection string template is to use a connection string builder, which can be found in the Delphi IDE (and perhaps other IDE's as well). Once you have a working string, substitute the actual values with the values listed above (%DB% instead of the database, etc.).
Native mode versus OLEDB
Try native mode first, since that should be faster. If that doesn't work, you'll have to make do with OLEDB.
Microsoft SQL Server is one case where we suggest using OLEDB instead of native mode. The DB-Library that is used for native mode lacks support for (at least) the ntext type. DBLister contains a workaround for this ntext problem, but it incurs a performance penalty. DB-Library is also limited in that it only returns the first 255 characters of varchar and char columns. Other servers might have the same or other limitations, so your mileage may vary.
Request for input
We'd appreciate it if you'd be willing to share your settings with us and other DBLister users! We want input on the following:

- Once you have a working connection to an OLEDB provider, please report all the fields from the "OLEDB properties" form
- How to show databases? We know how to do this for Microsoft SQL Server and MySQL, but not for the other native mode drivers. So if you know how to do this for any of the other drivers, please report the following:

- The SQL command to get a result set with database names
- The name of the field that contains the database name in each record

- Test results with any of the native drivers that we haven't tested, or with OLEDB providers you've added

Send your input to support@commsoft.nu. We'll use everything we get to enhance future versions.
License
DBLister is designed for private and commercial use without sale ("Freeware"), if the following rules are respected:

- CommSoft AB, has no responsibility if errors occures in direct or indirect relation with the software.
- DBLister can be distributed through non-commercial channels.
- DBLister is distributed in its original unaltered form, along with this documentation

Contact information

Web site | www.commsoft.nu
E-mail address | support@commsoft.nu
Phone | +46-44-103435
Fax | +46-44-248874

Version history

10/21/2004 | 2.01 | Added the ability to double-click an index in the index list to sort by that index. This applies to listings of BDE, FlashFiler and ADO tables.

07/26/2004

2.0

Fixed field size display for strings in Paradox tables.
Made the Structure and Indexes tabs use listviews instead of grids, with resizable columns to allow long entries to be viewed.
Added a file system plugin to view servers and databases.
Added native access to MySQL, PostgreSQL, Microsoft SQL Server, Sybase, InterBase and Firebird.
Split the plugin into two stubs (.wlx and .wfx), and one common DLL file.

02/01/2004 | 1.1 | Added the ability to list Access database tables. Added the ability to list any ODBC database through a .DSN file
11/19/2003 | 1.02 | Now all keyboard activity is passed to Total Commander, so that you can use the keyboard normally in the Lister. You can close the window, change modes and so on. We also added a navigator at the top of the data grid, for easier adding and deleting.
11/04/2003 | 1.01 | Responds to mouse and keyboard scrolling without an initial click
10/23/2003 | 1.0 | Initial release