Information window - press J or ? to to open, ESC to close
Image Size
*
0 1 5 10 12
buttons on top of page represent photo heights of:
40px 133px 500px 1000px and 1200px
* There are 3 modes of display (
Z
) for a single photo:
1)normal, 2)background stretch, and 3)height or width stretch
Navigation - single photo
* Click mouse in left/right part of the screen
* Use +/- 5 10 20 50 buttons to skip forward/backward
* Use right/left keyboard arrow keys
* Use keyboard keys eg
N
=New Photos,
A
=Arizona
Settings window - ESC to close
Coming soon
14,055 photos 2017: 715 2016: 473 | 2015: 525
G
T
A
 
  • 1
  • 5
  • 7
  • 10
  • 12
    Navigator
    1.* Photos *
    |
    2.Best/Pano/Minis
    |
    3.My Adventures
    |
    4.Travels
    |
    5.Questions/Answers
    |
    6.Prog
    |
    7.Maps
    |
    8.Cool
    Programming
    1.Unix
    |
    2.* Perl *
    |
    3.PHP
    |
    4.ASP.NET
    |
    5.ASP
    |
    6.Visual C++
    |
    7.Visual Basic
    |
    8.JavaScript
    |
    9.HTML
    |
    10.CSS
    |
    11.CGI, bin and Perl
    |
    12.Cygwin
    |
    13.Linux
    |
    14.mySQL
    |
    15.Python
    |
    16.robertbody C++ & *.BAT
    |
    17.Unix Notes (live)
    |
    18.Perl Notes (live)
    (Navigator)
    1.* Photos * | 2.Best/Pano/Minis | 3.My Adventures | 4.Travels | 5.Questions/Answers | 6.Prog | 7.Maps | 8.Cool

    Programming

    1.Unix | 2.* Perl * | 3.PHP | 4.ASP.NET | 5.ASP | 6.Visual C++ | 7.Visual Basic | 8.JavaScript | 9.HTML | 10.CSS |
    11.CGI, bin and Perl | 12.Cygwin | 13.Linux | 14.mySQL | 15.Python | 16.robertbody C++ & *.BAT |
    17.Unix Notes (live) | 18.Perl Notes (live)

    mySQL

    -  +
    see also: [ CGI, bin and Perl ] in section bin/ section for script examples of tgz, untgz, etc
    mysql/
      build-mysql.pl      # build mySQL database from (SQL commands generated from *.MDB)
    
    cygwin/
      m           # - call mdb.py (Python code in Windows XP)
                  #   to generate rb.sql from *.MDB (Microsoft Access database)
                  # - ssh to server and run build-mysql.pl Perl code in Unix
                  #   to load mySQL database
      mysql       # rb.sql is generated by Python code in Windows XP (called/timed by m above)
    
    --python/
        mdb.py            # (Python code in Windows XP) converts *.MDB to mySQL via DAO
    
    # --------------------------------------------------- Sun 14:59:46, 2005-11-20 -----------------
    # ---------- MDB-to-mySQL 1.0 SQL IMPORT FROM `C:\robert\python\mysql\robertbody.mdb` ----------
    # ----------------------------------------------------------------------------------------------
    
    # ------ TABLE `Groups` ------
    DROP TABLE IF EXISTS `Groups`;
    
    CREATE TABLE `Groups` (
            `Count` INT NULL DEFAULT 0, 
            `Name` VARCHAR(50) NULL, 
            `Directory` VARCHAR(50) NULL, 
            `Filename` VARCHAR(50) NULL, 
            `Category` VARCHAR(50) NULL, 
            `done` VARCHAR(50) NULL, 
            `notes` VARCHAR(50) NULL,
            PRIMARY KEY (`Name`)
    ) TYPE=MyISAM;
    
    INSERT INTO `Groups` (`Count`, `Name`, `Directory`, `Filename`, `Category`, `done`, `notes`) VALUES
      ("1", "Animals", "animals", "previews.html", "People-Animals", "2005/04/24-uploaded 4/25", "export");
          

    *.MDB (Microsoft Access) to mySQL conversion
    2005/11/17: After automating the upload of my website files (400MB zipped, sent via ftp, and unzipped) and reducing a 6-8 hour process (via regular Windows file transfer) to 1hour, I wanted to expand the automation in the area of Database Transfer (Microsoft Access in Windows XP transferred into mySQL on Unix server).

    The following were my findings after a week of intensive searching, trying....
    #1. MDBtoMySQL XP 0.9 (released August 2004) ...... freeware! .... Code in Visual C# (not available)
    MDBtoMySQL XP 0.9
    from "www.mdbtomysql.de"

    is the best tool I came across in my search for *.MDB to mySQL conversion.

    It is only 73 KB and offers one screen for all options, then writes out a text file with SQL statements

    and includes both the database schema (structure) and records (data)

    The output data has a trustworthy "clean feel", and when imported into mySQL, the syntax is right on. See output below.

     Excellent match of schema (fields) 
    # ---------- MdbToMySQL XP 0.9 MySQL IMPORT FROM `C:\robert\db\robertbody.mdb` ----------
    
    
    # --- DROP TABLE `Table1` BEFORE (RE)CREATION 
    DROP TABLE IF EXISTS `Table1`;
            
    # ---------- CREATE TABLE `Table1` ----------
    CREATE TABLE `Table1` (
            `Id` INT NOT NULL AUTO_INCREMENT,
            `Dir_Num` DOUBLE NULL,
            `Filename` VARCHAR(255) NULL,
            `Oldname` VARCHAR(50) NULL,
            `Oldname2` VARCHAR(50) NULL,
            `Directory` VARCHAR(255) NULL,
            `Location` VARCHAR(50) NULL,
            `Location2` VARCHAR(50) NULL,
            `Location3` VARCHAR(50) NULL,
            `Subject` VARCHAR(50) NULL,
            `Group_1` VARCHAR(255) NULL,
            `Subgroup` VARCHAR(50) NULL,
            `G2` VARCHAR(255) NULL,
            `G3` VARCHAR(255) NULL,
            `Description` VARCHAR(255) NULL,
            `Keywords` VARCHAR(255) NULL,
            `Picturename` VARCHAR(255) NULL,
            PRIMARY KEY (`Id`),
            KEY `Id` (`Id`),
            KEY `Keywords` (`Keywords`)
    ) TYPE=MyISAM;
    
    # ---------- EMPTY TABLE `Table1` ----------
    DELETE FROM `Table1`;
    
    # ---------- POPUPLATE TABLE `Table1` ----------
    INSERT INTO `Table1` (`Id`, `Dir_Num`, `Filename`, `Oldname`, `Oldname2`, `Directory`, `Location`, `Location2`, `Location3`, 
    `Subject`, `Group_1`, `Subgroup`, `G2`, `G3`, `Description`, `Keywords`, `Picturename`) 
    VALUES (2, 77, '1970s-me-dievcatko', 'me-dievcatko', NULL, 'me', NULL, 'Kosice', 'Slovakia', NULL, 'Me', NULL, NULL, NULL, 
    'early years of dating \x85 Slovakia \x851970\'s', NULL, NULL);    it even "escapes" characters like & and ' 
                    "dating ... Slovakia ... 1970's" is the right text, and \0x85 = "..." 
    ...
    

    #2 MDB Tools (released June 2004) ...... freeware, unix !!! .... code in C (included)
    MDB Tools was an exciting find because it is for Unix and I could built it in Cygwin

    After getting consistent crashes with even a 2 field, 2 record database, I fixed the problem in C source code, only to find out I had version 0.5 and version 0.6 already fixed that bug.

    Nevertheless, the output lacks Primary Keys and the field definitions are "kind of right". Trying to determine primary keys myself felt like hacking without proper access to win32 info
    
    
    
    should check first if table exists (easy fix)
    DROP TABLE Table1;                 
    CREATE TABLE Table1
     (    AutoNumber, Increment, _PRIMARY KEY_ ??
            Id          Long Integer,           
            Dir_Num     Double, 
            Filename            Text (510),      
            Oldname     Text (100), double original ?
            Oldname2            Text (100), 
            Directory           Text (510), 
            Location            Text (100), 
            Location2           Text (100), 
            Location3           Text (100), 
            Subject     Text (100), 
            Group       Text (510), 
            Subgroup            Text (100), 
            G2          Text (510), 
            G3          Text (510), 
            Description         Text (510), 
            Keywords            Text (510), 
            Picturename         Text (510)
    );          NO primary key specified
    
    
    separate executables for schema above, and data below .... but not hard to fix with access to code
    INSERT INTO Table1 (Id, Dir_Num, Filename, Oldname, Oldname2, Directory, Location, Location2, Location3, 
    Subject, Group, Subgroup, G2, G3, Description, Keywords, Picturename) 
    VALUES (2,77,"1970s-me-dievcatko","me-dievcatko",NULL,"me",NULL,"Kosice","Slovakia",NULL,"Me",NULL,NULL,NULL,
    "early years of dating & Slovakia & 1970's",NULL,NULL)
                 "dating ... Slovakia ... 1970's" is the right text, and here stored as "&" (wrong)
    ...

    #3 jet2sqp.py (released July 2000) ...... freeware .... code in Python (must be Windows due to win32com & pythoncom )
    jet2sqp.py Python code deals properly with the *.MDB Windows object ... but this is only for the schema (fields), not for data

    and so the search continues...

    
    
    
    
    
    
    create table `Table1`(
        `Id` Counter not null ,
        `Dir_Num` Double ,
        `Filename` varchar(255) ,
        `Oldname` varchar(50) ,
        `Oldname2` varchar(50) ,
        `Directory` varchar(255) ,
        `Location` varchar(50) ,
        `Location2` varchar(50) ,
        `Location3` varchar(50) ,
        `Subject` varchar(50) ,
        `Group` varchar(255) ,
        `Subgroup` varchar(50) ,
        `G2` varchar(255) ,
        `G3` varchar(255) ,
        `Description` varchar(255) ,
        `Keywords` varchar(255) ,
        `Picturename` varchar(255) ,
        primary key `Id`
    );
    
    no data output :(
    
    www.python.org
    PythonWin GUI + command line
    www.win32com.de
    (Windows extensions)

    pythoncom & win32com
    in pywin32
    to install
    DA0 3.6 in PythonWin:
    Tools :: COM Makepy utility ::
    Microsoft DAO 3.6 Object Library (5.0)


    (needed for jet2sqp.py)
    Solutions:
    2005/11/17: my quick solution was to use a Windows Automation tool WinMacro on MDBtoMySQL XP 0.9 -- which introduced a 25 second delay while my "macro" was replayed with my keystrokes (as I watched and hoped that no unusual event confused the macro -- such as Norton Security starting a scan by itself)
    2005/11/20: 3 days later, after MANY frustrustrations with Python, especially Unicode -- my "..." in MS Access database is stored as a "single Unicode character", and reading it by Python and storing it was a problem with Python. (Perl and mySQL database handle it ok... later in the process)

    ... I finally finished my Python code, and the result is mdb.py. This Python code uses win32.com and pythoncom extentions to Python (platform dependent -> WINDOWS platform dependent)

    • this Python code reads from a Windows object, via DAO (not ADO, that's another way)
    • it is quite unlike MDB Tools above, which really "hacks the solution by reading the *.MDB file at byte level (because that's all it can do in Unix, the win32 info is not present)

    Links:
    http://www.mdbtomysql.de - MDB to mySQL (generates SQL instructions to regenerate the MDB in mySQL)
    sourceforge.net/projects/mdbtools newer than mdbtools.sourceforge.net/ ...... Description like version 0.6pre1 (June 18, 2004)
    Counter:
    Last Updated: Thu, November 24, 2005 0:30