LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Closed Thread
  Search this Thread
Old 03-04-2006, 12:05 AM   #1
rickh
Senior Member
 
Registered: May 2004
Location: Albuquerque, NM USA
Distribution: Debian-Lenny/Sid 32/64 Desktop: Generic AMD64-EVGA 680i Laptop: Generic Intel SIS-AC97
Posts: 4,250

Rep: Reputation: 62
Converting MS Access to Linux (Part Two)


Here is Part One.

Note to important people: If this thing seems useful, I'd be more than happy to have it posted in one piece as a tutorial. I'm not sure how one goes about doing that, but I'll look around and see if I can figure it out. Not for a few days until I've had a chance to edit it a little.
**************************

A brief housekeeping interlude:
ReKall is not a database. It's just a GUI front end that could be used with several different RDBMS server applications. (For our purposes, POSTGRESQL.) Your ReKall database will not be a tidy file that you can pick up and move in it's entirety, like an .mdb file. The name you assign will just be a file with some pretty much indecipherable XML code that tells ReKall where the data really is. Another thing, for purposes of clarity we will use the term RDBMS when referring to the real server (POSTGRESQL). The term 'database' or 'ReKall database' will describe our working environment.

Also, this might be a good time to hop over to windows and get some data ready to move. For this first experience, be gentle with yourself. Open a simple Access database with only one or two tables. Note the table definitions, field names, formats, length, etc. Now, right click on the table name, select 'Export', and send the table data to a delimited text file (*.txt, *.csv, *.tab, *.asc). When you do that, you'll be given the opportunity to save it as a delimited file (yes), and to pick the delimiting character, as well as a 'text qualifier'. I personally like to use the '|' character as the delimiter, since some of my data fields are likely to include commas, etc. I also normally choose no text qualifier. How you choose to set it up is personal, but remember the delimiter you used, and the text qualifier. You'll need them across the way.

Now, you have your data saved in a delimited text file, and you need to make sure that file is someplace you can get to it from Linux. I trust you.

Getting ReKall Ready
ReKall should already be installed on your system, assuming you've been following along religiously, so let's have a look. My install did not put an icon on any menu immediately, although one did eventually show up on the 'Programming' sub-menu. Pure magic, I think. Anyway, if you can't find a button to click, add a launcher to your desktop. The command will be 'rekall' and you should be able to find an official ReKall icon someplace (in the ~/rekall/ directories if nowhere else). You could start it by just typing 'rekall' in a terminal window, but I couldn't get it to release, and lots of unattractive messages kept popping up in there ... Ugly! As MS Access experts and aficionados, we're in for a hard enough time without that.

When you get a window open, click on the 'New Database' icon; you'll recognize it right away. If you're an anti-icon person (some are), File | New Database will accomplish the same thing. ReKall will start a wizard to identify the RDBMS with which you'll be working. Enter the directory in which you want your database placed, maybe /home/joenormal/, and the name you want it to have. Let's name it 'test'. Click along, reading and choosing. RDBMS type will, of course, be 'Rekall PgSQL Driver.' Our User name will probably be 'joenormal', and when you get to 'Select Database', 'joenormal' should be the default. (Understand: 'joenormal' is not the database you are creating now. In this case 'joenormal' is actually the RDBMS. Very confusing.) The next click, 'Finish', should clarify things slightly. It'll take you to a window reminiscent of an Access Database Window with some things that look vaguely familiar.

In the middle pane are two labels, '!files' and 'test' (yourdatabasename). !files means nothing to us now. Read about it in the manual later. Select 'test', then Tables in the left pane. Click the little + sign by 'test' in the new, larger right pane, and double click on 'Create new table'. After naming your table, you are presented with a place to define the first table field. The process of field definition is not quite obvious to a person used to Access, but it's not too difficult. If you can't figure it out at all, give up now. Keep an eye on the formatting defaults on the bottom, they're a little different than Access defaults. I ran into trouble with the fact that field formats default to 'No Nulls.' When you have the table(s) defined just like your original Access table(s), save, close window, and select 'Copy' from the left panel.

As before, click the little + sign by 'test' in the right panel, and double click on 'Create new copier'. You are now presented with a two panel screen. The left side is the 'From' side, and the Right side is the 'To' side. On the left panel select the 'File' tab and enter information about the text file you exported from an Access table. You need the delimiter character, the text qualifier, if any, and the complete path including the file-name. That last item goes in the box at the bottom labeled 'File/Error.'

On the right panel, the tab, 'Table', should already be selected, and you identify the table into which you want the data copied. If you've done it correctly, you'll see all the field names listed on the left side, and an obvious way to move all or some of them to the right side signifying that they expect to get some data. In the box at the bottom labeled 'Operation,' I recommend that you select 'Update/insert'. I tried 'Insert new,' and crashed the application. Next, hover over the icons on the toolbar and find the one labeled 'Execute copy.' Holding your breath, click on it, and, hopefully, you'll see a little box counting off the records as they are imported. Close the Copier window, and select 'Tables' in the left panel. Right click on your table in the larger, right panel ... select 'Data view' from the drop down menu, and give yourself a big pat on the back.

Problems
OK. That's as far as we go together. First a couple support items. The Help files are very good, if somewhat disorganized. I need to figure out an easy way to get the whole thing printed on paper. At http://www.rekallrevealed.org/ the on-line manual is based on version 2.3, the next major upgrade. That's helpful as far as deciding if a specific need has a near term solution, or will require additional hard work. Also, at that website are links to get on support lists, which, while not immediate are helpful.

Remember, I'm as new at this as you are, but in the process of getting this far, I do have a couple problems. If I get through them, I may eventually add a section called, Slightly More Advanced Techniques. Number one, a database created with ReKall can not be accessed by POSTGRESQL, and vice versa. It would be very convenient to be able to make changes in a database from either the RDBMS or ReKall, and see those changes from either source. Perhaps even worse, ReKall does not currently support any kind of action queries. In fact, I haven't figured out any way at all to do mass updates on the data. What I've read suggests that this can probably be accomplished by Python scripts, and ReKall does have significant Python support built in. Unfortunately, I don't know Python ... Add another thing to my 'to learn' list.

The QBE style query builders are crude, but workable. I haven't messed with Forms and Reports yet, but according to the manual, they're acceptable, if not as slick as the ones in Access. If building a GUI for professional quality RDBMS's was easy, there'd be a bunch of them. I'd be interested to hear from people who have real hands-on experience with one they consider better.

Good luck.
 
Old 03-04-2006, 05:16 PM   #2
bigrigdriver
LQ Addict
 
Registered: Jul 2002
Location: East Centra Illinois, USA
Distribution: Debian stable
Posts: 5,908

Rep: Reputation: 356Reputation: 356Reputation: 356Reputation: 356
Suggestion:

Write this up as a HOWTO and submit to the Linux Documentation Project to include in the HOWTOs.
 
Old 03-04-2006, 06:01 PM   #3
rshaw
Senior Member
 
Registered: Apr 2001
Location: Perry, Iowa
Distribution: Mepis , Debian
Posts: 2,692

Rep: Reputation: 45
closing, it now lives in the tutorials section
 
  


Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Converting MS Access to Linux (Part One) rickh Linux - Software 3 03-04-2006 01:10 PM
How can I find if a certain part of Linux is installed? Conpen2000 Linux - Newbie 2 01-07-2004 04:55 PM
3rd part software for Linux 8 sarika_ni Linux - General 1 10-01-2003 08:12 AM
the worst part of linux :( bit7 Linux - Software 23 06-13-2003 04:50 PM
how was the first ever part of linux programmed? slakker Linux - General 1 05-01-2003 01:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:36 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration