By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
426,165 Members | 1,916 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 426,165 IT Pros & Developers. It's quick & easy.

Know any good scripts to convert msaccess to mysql

P: n/a
Hello,

I am tasked with converting an MsAccess db to a MySQL 4 db in a Linux
environment. Can anyone recommend any good freeware/scripts to help me
do this?

Thanks, - Dave

Jan 31 '06 #1
Share this Question
Share on Google+
9 Replies


P: n/a
la***********@zipmail.com wrote:

I am tasked with converting an MsAccess db to a MySQL 4 db in a Linux
environment. Can anyone recommend any good freeware/scripts to help me
do this?


Googling for "access export sql" resulted in a MySQL hit first thing.

The conversion is rarely perfect. Be prepared for some manual
intervention. Standard practices in Access don't always line up with
standard practices in MySQL. In particular, you will want to think very
hard about any special characters in your table and field names. It's
common to use spaces and dashes in Access field names, and it is possible
to use them in MySQL, but it's inconvenient.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Feb 1 '06 #2

P: n/a
Thanks but nothing I've been able to find is hosted on a Unix/Linux
environment. What tool / script did you use? - Dave

Feb 2 '06 #3

P: n/a
la***********@zipmail.com wrote:

Thanks but nothing I've been able to find is hosted on a Unix/Linux
environment. What tool / script did you use? - Dave


I doubt you will find anything hosted on Linux. It is not trivial to
manipulate an Access database outside of Windows.

I used Windows.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Feb 3 '06 #4

P: n/a
"Tim Roberts" <ti**@probo.com> posted:
I doubt you will find anything hosted on Linux. It is not trivial to
manipulate an Access database outside of Windows.


What about putting the access file onto a Windows machine, then
exporting the data to XML, CSV or whatnot? Once placed in the
new format, the data can be moved back to the linux machine
and "accessed" without Access.

Or, could the file be placed upon a Unix machine, then connected to
via a network connection (network share) from a Windows machine?

Jim Carlock
Post replies to the newsgroup.
Feb 3 '06 #5

P: n/a
"Jim Carlock" <an*******@127.0.0.1> wrote:
"Tim Roberts" <ti**@probo.com> posted:
I doubt you will find anything hosted on Linux. It is not trivial to
manipulate an Access database outside of Windows.
What about putting the access file onto a Windows machine, then
exporting the data to XML, CSV or whatnot? Once placed in the
new format, the data can be moved back to the linux machine
and "accessed" without Access.


Absolutely, but as I recall, that is exactly the problem you were trying to
solve in the first place!
Or, could the file be placed upon a Unix machine, then connected to
via a network connection (network share) from a Windows machine?


Do you mean something like Samba? That will work, but there are two
issues. First, Access is not very smart about the way it reads the
database file, and most Access programmers are even worse. Talking to an
Access database over a network share can be a painful exercise in patience.
Second, this doesn't really solve the problem. You're still running the
Access application on Windows, and the original problem specification was
to eliminate that.

<soapbox>
Access is a flexible, powerful, and easy to use program, but in my view,
one of the most serious shortcomings in all 11 versions of Access has been
the complete lack of a simple "export to SQL" command.
</soapbox>

When I take a backup of a database, I would much rather have a file that I
can read (and manipulate) than a copy of an opaque binary file. Having an
export/import option would eliminate the need for the "repair database"
option in Access.

By the way, here are a couple of web pages that describe how to move from
Access and SQL Server to MySQL:

http://dev.mysql.com/tech-resources/...microsoft.html
http://www.kitebird.com/articles/access-migrate.html
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Feb 5 '06 #6

P: n/a
I thought MySQL had the MySQL Migration Toolkit for free.

<la***********@zipmail.com> wrote in message
news:11*********************@g44g2000cwa.googlegro ups.com...
Hello,

I am tasked with converting an MsAccess db to a MySQL 4 db in a Linux
environment. Can anyone recommend any good freeware/scripts to help me
do this?

Thanks, - Dave

Feb 10 '06 #7

P: n/a
The Migration toolkit is quick to convert and really slick at data mapping
and the like. It will tell you in detail about errors and let you fix the
SQL, but I never had any. it was a straight shoot and it took maybe 5-10
minutes of clicking mostly "next" and checking for errors. The previous
version recreated a lot of the MS hidden System tables. the new one doesn't.
It also converts other databases like Oracle. DB2 is in the works. So it's
not a toy tool.
It generates one SQL script for your data and one for your schema if I
remember right.

http://dev.mysql.com/downloads/migra...olkit/1.0.html

and yes, it runs on Linux. And like I said - it's free.

"Jim Michaels" <jm******@nospam.yahoo.com> wrote in message
news:qP******************************@comcast.com. ..
I thought MySQL had the MySQL Migration Toolkit for free.

<la***********@zipmail.com> wrote in message
news:11*********************@g44g2000cwa.googlegro ups.com...
Hello,

I am tasked with converting an MsAccess db to a MySQL 4 db in a Linux
environment. Can anyone recommend any good freeware/scripts to help me
do this?

Thanks, - Dave


Feb 10 '06 #8

P: n/a

"Jim Carlock" <an*******@127.0.0.1> wrote:
Or, could the file be placed upon a Unix machine, then connected to
via a network connection (network share) from a Windows machine?
"Tim Roberts" <ti**@probo.com> replied: Do you mean something like Samba? That will work, but there are
two issues. First, Access is not very smart about the way it reads
the database file, and most Access programmers are even worse.
Well, I'm thinking along the lines of Access connecting to Access,
and Access connecting to other. I'm lacking in experience in
connecting from other to Access. There are two ways I can think
of whereby Access can connect to other...

(1) The database being connected to is recognized,
(2) The database is unrecognized, in which case some sort of
ODBC or SQL serving connection must be used. So a third
party connector existed and Access hooked up to it okay. I
was thinking about going in the reverse direction though,
whereby perhaps some third party tool already exists that
can connect to an Access data file and thereby send Access
SQL statements to it.
Talking to an Access database over a network share can be a
painful exercise in patience.
Well, perhaps, but only if you insist. :-) The ADO methods seem
alot slower than the DAO methods. I won't say that I'm familiar
with accessing Access in anything but a Microsoft environment
though.
<soapbox>
Access is a flexible, powerful, and easy to use program, but
in my view, one of the most serious shortcomings in all 11
versions of Access has been the complete lack of a simple
"export to SQL" command.
</soapbox>
Access provides a visual way to create queries. Right clicking inside
the query created then offers a drop down menu whereby you can
select SQL View to get the "Access SQL" version of the query. I've
used this in the past to pop an SQL query into a external application,
use links to external data on "other servers" to create tables inside
Access. Of course every dialect of SQL differs somewhat.

Furthermore, SQL is just a scripting language for collecting a group
of data. The presentation of the data gets handled outside of SQL.
SQL doesn't provide the file format, it's just a scripting language,
and when dealing with databases, I tend to think along the lines of
recordsets and queries and SQL provides the syntax for acquiring
the recordset (or creating or editing a recordset).
When I take a backup of a database, I would much rather have a
file that I can read (and manipulate) than a copy of an opaque binary
file.
Okay, I think I see what you're saying, that going along the lines
of ISAM files. An Access "link" provides a way to connect to external
data file types. Once "linked", the normal gambit of "SQL" operations
could commence. Microsoft provides some limited ways to "link" to
some well know data types (ie, text files/csv, txt, asc, tab, Access
mdb/mde/mda, dbase III/dbf, dbase V/dbf, dbase IV/dbf, paradox/db,
html/htm, and a couple Microsoft types/Outlook+Exchange).

A third party ODBC connection might be of use.
By the way, here are a couple of web pages that describe how
to move from Access and SQL Server to MySQL:

http://dev.mysql.com/tech-resources/...microsoft.html
http://www.kitebird.com/articles/access-migrate.html


Thanks for the links, Tim. I think my original thoughts fell along
the lines of linking to an Access .mdb and then extracting the
data from such. I lack experience in moving data out of Access
to another format though. I kind of hoped that there was an
easy way to connect to an Access .mdb and still am not sure
that an easy way exists from a non-Microsoft client. IIS and
other scripting languages provides ways to easily extract data
from an Access .mdb and present it in an XML format...

Just throwing some thoughts out.

Jim Carlock
Post replies to the group.
Feb 11 '06 #9

P: n/a

I've had perfect conversions with the MySQL Migration Toolkit (not tried it
with odd features of Access), available from the MySQL web site.
http://www.mysql.com/products/tools/migration-toolkit/ info
http://dev.mysql.com/downloads/migra...olkit/1.0.html download

if you get any errors along the conversion, you can view the error detail &
edit the SQL and fix things. 10 minute process. not a toy tool. also
migrates Oracle and some others.
Can work directly from the database file - no need for odbc, unless you want
to. Generates a schema script and a data script.
had a database that used system tables. the toolkit decided to include the
needed system tables.

"Tim Roberts" <ti**@probo.com> wrote in message
news:cm********************************@4ax.com...
la***********@zipmail.com wrote:

I am tasked with converting an MsAccess db to a MySQL 4 db in a Linux
environment. Can anyone recommend any good freeware/scripts to help me
do this?


Googling for "access export sql" resulted in a MySQL hit first thing.

The conversion is rarely perfect. Be prepared for some manual
intervention. Standard practices in Access don't always line up with
standard practices in MySQL. In particular, you will want to think very
hard about any special characters in your table and field names. It's
common to use spaces and dashes in Access field names, and it is possible
to use them in MySQL, but it's inconvenient.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.

Feb 11 '06 #10

This discussion thread is closed

Replies have been disabled for this discussion.