import java.io.*;
import java.util.*;
import java.sql.*;
import java.nio.*;
class readmdb {
public static void main(String args[]) 
{
	try 
	{
		Database d = Database.open(new File("db1.mdb"));
		System.out.println ( "--TABLE META DATA---" );
		Set tableNames = d.getTableNames();
		Iterator it = tableNames.iterator();
		int j=0;
		System.out.println ( tableNames.size() );
		while( it.hasNext() )
		 {
			String tableName = it.next().toString();
			System.out.println ( j+":"+tableName );
			Table t = d.getTable( tableName );
			List columns = t.getColumns();
			for (int i=0;i Column c = (Column)columns.get(i);
				System.out.println ( i+"|"+c.getName() );
		}
		System.out.println ( "--TABLE ROW VALUES---" );
		Iterator iter = columns.iterator();
		Map row;
		int rowCount=0;
		while ((rowCount++ < Long.MAX_VALUE) && (row =t.getNextRow()) !=null)
		{
			iter = row.values().iterator();
			while (iter.hasNext())
			{
				Object obj = iter.next();
				if (obj instanceof byte[])
				{
					byte[] b = (byte[]) obj;
					System.out.print ( "a:"+ByteUtil.toHexString(ByteBuffer.wrap(b),b.length));
				} else 
					{
						System.out.print ( "b:"+ String.valueOf(obj));
					}
				if (iter.hasNext())
					{
						System.out.print ( "\t" );
					}
				}
			}
		}
		} catch(Exception e)
			{
				e.printStackTrace();
			}
	}
}
