and here's a thought... how about the script...
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
' this program converts Microsoft SQL Server databases to MySQL =
databases
' (c) 2001-2003 Michael Kofler
' http://www.kofler.cc/mysql
' mssql2mysql-at-kofler.cc
' LICENSE: GPL (Gnu Public License)
' VERSION: 0.08 (April 30th 2003)
'
' HISTORY:
' 0.01 (Jan. 18 2001): initial version
' 0.02 (June 23 2001): better handling of decimal numbers
' by <dave.whitla-at-ocean.net.au>
' 0.03 (August 7 2001): compatibility with Office 97
' by <DaveMeaker-at-angelshade.com>
' (uncomment Replace function at the end of the script!)
' 0.04 (September 30 2001): slightly faster (ideas by
' janivar-at-acos.no)
' 0.05 (April 8 2002): compatible with MyODBC 3.51
' (set variable MyODBCVersion accordingly!)
' thanks to Silvio Iaccarino
' 0.05a (October 17 2002): support for BIGINT
' thanks to Ugo Gioia
' 0.06 (December 18 2002): support for adBinary (thanks to Roberto =
Alicata)
' changed handling of TIMESTAMP (Michael Kofler):
' TIMESTAMP (MSSQL) --> TINYBLOB (MySQL)
' 0.07 (Jan. 27th 2003): support no-standard ports for MySQL
' 0.08 (Apr. 30th 2003): Boolean now converts to 1/0 instead of -1/0
' for True/False (Michael Kofler)
' 0.09 (Aug. 19th 2003): better GUID conversion (Hermann Wiesner)
' USEAGE:
' 1) copy this code into a new VBA 6 module
' (i.e. start Excel 2000 or Word 2000 or another
' program with VBA editor, hit Alt+F11, execute
' Insert|Module, insert code)
' OR copy code into an empty form of a new VB6 project
'
' 2) change the constants at the beginning of the code,
' 3) hit F5 and execute Main()
' the program now connects to Microsoft SQL Server
' and converts the database; the resulting SQL commands
' are either saved in an ASCII file or executed immediately
' FUNCTION:
' converts both schema (tables and indices) and
' data (numbers, strings, dates etc.)
' handles table and column names which are not legal in MySQL (see
MySQLName())
' LIMITATIONS:
' no foreign keys (not yet supported by MySQL)
' no SPs, no triggers (not yet supported by MySQL)
' no views (not yet supported by MySQL)
' no user defined data types (not yet supported by MySQL)
' AUTO_INCREMENTs: MySQL does not support tables with more
' than one AUTO_INCREMENT column; the AUTO_INCREMENT column
' must also be a key column; the converter does not check this,
' so use MSSQL to add an index to the AUTO_INCREMENT column
' before starting the conversion
' no privileges/access infos (the idea of logins/users in Microsoft SQL Server
' is incompatible with user/group/database/table/column
' privileges of MySQL)
' cannot handle ADO type adFileTime yet
' GUIDs not tested
' fairly slow and no visible feedback during conversion process
' for example, it takes 80 seconds to convert Northwind (2.8 MB data)
' with MicrosoftSQL running on PII 350 (CPU=3D0) and this script running in
' Excel 2000 on PII 400 (CPU=3D100); unfortunately, compiling the =
program
' with VB6 does not make it any faster
' tip: test with MAX_RECORDS =3D 10 first to see if it works for you =
at all
' DATA:
' Unicode string can be converted either to ANSI strings or to BLOBs
' (Unicode --> BLOB is untested, though)
' INTERNALS:
' method: read database schema using DMO
' read data using a ADO recordset
' NECESSARY LIBRARIES:
' ADODB (tested with 2.5, should also run with all versions >=3D2.1)
' MyODBC (testet with 2.50.36 and 3.51)
' SQLDMO (tested with the version provided by Microsoft SQL Server 7 / MSDE =
1)
' SCRIPTING
Option Explicit
Option Compare Text
' -------------- change these constants before use!
'Microsoft SQL Server
Const MSSQL_SECURE_LOGIN =3D True 'login type (True for NT security)
Const MSSQL_LOGIN_NAME =3D "" 'login name (for NT security use "" =
here)
Const MSSQL_PASSWORD =3D "" 'password (for NT security use "" =
here)
Const MSSQL_HOST =3D "(local)" 'if localhost: use "(local)"
Const MSSQL_DB_NAME =3D "DSN database name" 'database name
Const OUTPUT_TO_FILE =3D 1 '1 --> write file;
'0 --> connect to MySQL, execute SQL
commands directly
=20
'output file (only needed if
OUTPUT_TO_FILE=3D1)
Const OUTPUT_FILENAME =3D "c:\export.sql"
'connect to MySQL (only needed if
OUTPUT_TO_FILE=3D0)
Const MYSQL_USER_NAME =3D "username" 'login name
Const MYSQL_PASSWORD =3D "password" 'password
Const MYSQL_HOST =3D "localhost" 'if localhost: use "localhost"
Const MYSQL_PORT =3D 3306 'change if you use another port
Const MyODBCVersion =3D "MySQL" 'for MyODBC 2.51.*; if you use =
MyODBC
3.51*, use
'this setting instead: "MySQL ODBC =
3.51
Driver"
Const NEW_DB_NAME =3D "your_database" 'name of new MySQL database =
("" if
same as MicrosoftSQL db name)
'conversion options
Const UNICODE_TO_BLOB =3D False 'unicode --> BLOBs (True) or ASCII
(False)
Const DROP_DATABASE =3D True 'begin with DROP dbname?
Const MAX_RECORDS =3D 0 'max. nr of records per table (0 for =
all
records, n for testing purposes)
' ----------------------------- don't change below here (unless you know
what you are doing)
Const SQLDMOIndex_DRIPrimaryKey =3D 2048
Const SQLDMOIndex_Unique =3D 2
Const adEmpty =3D 0
Const adTinyInt =3D 16
Const adSmallInt =3D 2
Const adInteger =3D 3
Const adBigInt =3D 20
Const adUnsignedTinyInt =3D 17
Const adUnsignedSmallInt =3D 18
Const adUnsignedInt =3D 19
Const adUnsignedBigInt =3D 21
Const adSingle =3D 4
Const adDouble =3D 5
Const adCurrency =3D 6
Const adDecimal =3D 14
Const adNumeric =3D 131
Const adBoolean =3D 11
Const adError =3D 10
Const adUserDefined =3D 132
Const adVariant =3D 12
Const adIDispatch =3D 9
Const adIUnknown =3D 13
Const adGUID =3D 72
Const adDate =3D 7
Const adDBDate =3D 133
Const adDBTime =3D 134
Const adDBTimeStamp =3D 135
Const adBSTR =3D 8
Const adChar =3D 129
Const adVarChar =3D 200
Const adLongVarChar =3D 201
Const adWChar =3D 130
Const adVarWChar =3D 202
Const adLongVarWChar =3D 203
Const adBinary =3D 128
Const adVarBinary =3D 204
Const adLongVarBinary =3D 205
Const adChapter =3D 136
Const adFileTime =3D 64
Const adPropVariant =3D 138
Const adVarNumeric =3D 139
Const adArray =3D &H2000
Public dmoApplic 'As New SQLDMO.Application 'SQLDMO Application object
Public dmoSrv 'As New SQLDMO.SQLServer 'SQLDMO Server object
Public mssqlConn 'As New Connection 'ADO Connection to Microsoft SQL
Server
Public mysqlConn 'As New Connection 'ADO Connection to MySQL
Public fso 'As Scripting.FileSystemObject
Public fileout 'AS FSO.TextStream
Public Sub Main()
Set dmoApplic =3D CreateObject("SQLDMO.Application")
Set dmoSrv =3D CreateObject("SQLDMO.SQLServer")
Set mssqlConn =3D CreateObject("ADODB.Connection")
Set mysqlConn =3D CreateObject("ADODB.Connection")
Set fso =3D CreateObject("Scripting.FileSystemObject")
ConnectToDatabases
ConvertDatabase
MsgBox "done"
End Sub
' connect to Microsoft SQL Server and MySQL
Private Sub ConnectToDatabases()
dmoSrv.LoginTimeout =3D 10
On Error Resume Next
=20
' DMO connection to Microsoft SQL Server
If MSSQL_SECURE_LOGIN Then
dmoSrv.LoginSecure =3D True
dmoSrv.Connect MSSQL_HOST
Else
dmoSrv.LoginSecure =3D False
dmoSrv.Connect MSSQL_HOST, MSSQL_LOGIN_NAME, MSSQL_PASSWORD
End If
If Err Then
MsgBox "Sorry, cannot connect to Microsoft SQL Server. " & _
"Please edit the MSSQL constats at the beginning " & _
"of the code." & vbCrLf & vbCrLf & Error
End
End If
=20
' ADO connection to Microsoft SQL Server
Dim tmpCStr$
tmpCStr =3D _
"Provider=3DSQLOLEDB;" & _
"Data Source=3D" & MSSQL_HOST & ";" & _
"Initial Catalog=3D" & MSSQL_DB_NAME & ";"
If MSSQL_SECURE_LOGIN Then
tmpCStr =3D tmpCStr & "Integrated Security=3DSSPI"
Else
tmpCStr =3D tmpCStr & _
"User ID=3D" & MSSQL_LOGIN_NAME & ";" & _
"Password=3D" & MSSQL_PASSWORD
End If
mssqlConn.ConnectionString =3D tmpCStr
mssqlConn.Open
If Err Then
MsgBox "Sorry, cannot connect to Microsoft SQL Server. " & _
"Please edit the MSSQL constats at the beginning " & _
"of the code." & vbCrLf & vbCrLf & Error
End
End If
=20
' ADO connection to MySQL or open output file
If (OUTPUT_TO_FILE =3D 0) Then
mysqlConn.ConnectionString =3D _
"Provider=3DMSDASQL;" & _
"Driver=3D" & MyODBCVersion & ";" & _
"Server=3D" & MYSQL_HOST & ";" & _
"UID=3D" & MYSQL_USER_NAME & ";" & _
"PWD=3D" & MYSQL_PASSWORD & ";" & _
"Port=3D" & MYSQL_PORT
mysqlConn.Open
If Err Then
MsgBox "Sorry, cannot connect to MySQL. " & _
"Please edit the MYSQL constats at the beginning " & _
"of the code." & vbCrLf & vbCrLf & Error
End
End If
Else
Set fileout =3D fso.CreateTextFile(OUTPUT_FILENAME)
End If
End Sub
Private Sub ConvertDatabase()
' copy database schema
Dim dmoDB 'As SQLDMO.Database
Set dmoDB =3D dmoSrv.Databases(MSSQL_DB_NAME)
DBDefinition dmoDB
' copy data
CopyDB dmoDB
End Sub
' build SQL code to define one column
' ColDefinition$(col As SQLDMO.Column)
Function ColDefinition$(col)
Dim cdef$
cdef =3D MySQLName(col.name) & " " & DataType(col)
If col.Default <> "" Then
cdef =3D cdef & " DEFAULT " & col.Default
End If
If col.AllowNulls Then
cdef =3D cdef & " NULL"
Else
cdef =3D cdef & " NOT NULL"
End If
If col.Identity Then
cdef =3D cdef & " AUTO_INCREMENT"
End If
ColDefinition =3D cdef
End Function
' datatype transition Microsoft SQL Server --> MySQL
' DataType$(col As SQLDMO.Column)
Function DataType$(col)
Dim oldtype$, length&, precision&, scal&
Dim newtype$
=20
oldtype =3D col.PhysicalDatatype
length =3D col.length
precision =3D col.NumericPrecision
scal =3D col.NumericScale
If LCase(oldtype) =3D "money" Then
precision =3D 19
scal =3D 4
ElseIf LCase(oldtype) =3D "smallmoney" Then
precision =3D 10
scal =3D 4
End If
=20
Select Case LCase(oldtype)
=20
' integers
Case "bit", "tinyint"
newtype =3D "TINYINT"
Case "smallint"
newtype =3D "SMALLINT"
Case "int"
newtype =3D "INT"
Case "bigint"
newtype =3D "BIGINT"
=20
' floating points
Case "float"
newtype =3D "DOUBLE"
Case "real"
newtype =3D "FLOAT"
Case "decimal", "numeric", "money", "smallmoney"
newtype =3D "DECIMAL(" & precision & ", " & scal & ")"
=20
' strings
Case "char"
If length < 255 Then
newtype =3D "CHAR(" & length & ")"
Else
newtype =3D "TEXT"
End If
Case "varchar"
If length < 255 Then
newtype =3D "VARCHAR(" & length & ")"
Else
newtype =3D "TEXT"
End If
Case "text"
newtype =3D "LONGTEXT"
=20
' unicode strings
Case "nchar"
If UNICODE_TO_BLOB Then
newtype =3D "BLOB"
Else
If length <=3D 255 Then
newtype =3D "CHAR(" & length & ")"
Else
newtype =3D "TEXT"
End If
End If
Case "nvarchar"
If UNICODE_TO_BLOB Then
newtype =3D "BLOB"
Else
If length <=3D 255 Then
newtype =3D "VARCHAR(" & length & ")"
Else
newtype =3D "TEXT"
End If
End If
=20
Case "ntext"
If UNICODE_TO_BLOB Then
newtype =3D "LONGBLOB"
Else
newtype =3D "LONGTEXT"
End If
=20
' date/time
Case "datetime", "smalldatetime"
newtype =3D "DATETIME"
Case "timestamp"
newtype =3D "TINYBLOB"
=20
' binary and other
Case "uniqueidentifier"
newtype =3D "TINYBLOB"
Case "binary", "varbinary"
newtype =3D "BLOB"
Case "image"
newtype =3D "LONGBLOB"
=20
Case Else
Stop
End Select
=20
DataType =3D newtype
End Function
' IndexDefinition$(tbl As SQLDMO.Table, idx As SQLDMO.Index)
Function IndexDefinition$(tbl, idx)
Dim i&
Dim tmp$
Dim col 'As SQLDMO.Column
' don't deal with system indices (used i.e. to ensure ref. integr.)
If Left$(idx.name, 1) =3D "_" Then Exit Function
' index type (very incomplete !!!)
If idx.Type And SQLDMOIndex_DRIPrimaryKey Then
tmp =3D tmp & "PRIMARY KEY"
ElseIf idx.Type And SQLDMOIndex_Unique Then
tmp =3D tmp & "UNIQUE " & MySQLName(idx.name)
Else
tmp =3D tmp & "INDEX " & MySQLName(idx.name)
End If
' index columns
tmp =3D tmp & "("
For i =3D 1 To idx.ListIndexedColumns.Count
Set col =3D idx.ListIndexedColumns(i)
tmp =3D tmp & MySQLName(col.name)
' specify index length
If (col.PhysicalDatatype =3D "nchar" Or col.PhysicalDatatype =3D =
"nvarchar"
Or col.PhysicalDatatype =3D "ntext") And UNICODE_TO_BLOB =3D True Then
' 2 byte per unicode char!
tmp =3D tmp & "(" & IIf(col.length * 2 < 255, col.length * 2, 255) =
& ")"
ElseIf Right$(DataType(col), 4) =3D "BLOB" Or Right$(DataType(col), =
4) =3D
"TEXT" Then
tmp =3D tmp & "(" & IIf(col.length < 255, col.length, 255) & ")"
End If
' seperate, if more than one index column
If i < idx.ListIndexedColumns.Count Then tmp =3D tmp & ","
Next
tmp =3D tmp & ")"
IndexDefinition =3D tmp
End Function
' build SQL code to define one table
' TableDefinition$(tbl As SQLDMO.Table)
Function TableDefinition$(tbl)
Dim i&
Dim tmp$, ixdef$
' table
tmp =3D "CREATE TABLE " & _
NewDBName(tbl.Parent) & "." & MySQLName(tbl.name) & vbCrLf & "("
For i =3D 1 To tbl.Columns.Count
tmp =3D tmp & ColDefinition(tbl.Columns(i))
If i < tbl.Columns.Count Then
tmp =3D tmp & ", " & vbCrLf
End If
Next
' indices
For i =3D 1 To tbl.Indexes.Count
ixdef =3D IndexDefinition(tbl, tbl.Indexes(i))
If ixdef <> "" Then
tmp =3D tmp & ", " & vbCrLf & ixdef
End If
Next
tmp =3D tmp & ")"
TableDefinition =3D tmp
End Function
' build SQL code to define database (all tables)
' DBDefinition(db As SQLDMO.Database)
Sub DBDefinition(db)
Dim i&
Dim sql, dbname$
dbname =3D NewDBName(db)
If DROP_DATABASE Then
sql =3D "DROP DATABASE IF EXISTS " & dbname
ExecuteSQL sql
End If
sql =3D "CREATE DATABASE " & dbname
ExecuteSQL sql
For i =3D 1 To db.Tables.Count
If Not db.Tables(i).SystemObject Then
sql =3D TableDefinition(db.Tables(i))
ExecuteSQL sql
End If
Next
End Sub
' copy content of all Microsoft SQL Server tables to new MySQL database
' CopyDB(msdb As SQLDMO.Database)
Sub CopyDB(msdb)
Dim i&
Dim tmp$
ExecuteSQL "USE " & NewDBName(msdb)
For i =3D 1 To msdb.Tables.Count
If Not msdb.Tables(i).SystemObject Then
CopyTable msdb.Tables(i)
End If
Next
End Sub
' copy content of one table from Microsoft SQL Server to MySQL
' CopyTable(mstable As SQLDMO.Table)
Sub CopyTable(mstable)
Dim rec ' As Recordset
Dim sqlInsert$, sqlValues$
Dim i&, recordCounter&
Set rec =3D CreateObject("ADODB.Recordset")
rec.Open "SELECT * FROM [" & mstable.name & "]", mssqlConn
' build beginning statement of SQL INSERT command
' for example: INSERT INTO tablename (column1, column2)
sqlInsert =3D "INSERT INTO " & MySQLName(mstable.name) & " ("
For i =3D 0 To rec.Fields.Count - 1
sqlInsert =3D sqlInsert & MySQLName(rec.Fields(i).name)
If i <> rec.Fields.Count - 1 Then
sqlInsert =3D sqlInsert & ", "
End If
Next
sqlInsert =3D sqlInsert & ") "
' for each recordset in MicrosoftSS table: build sql statement
Do While Not rec.EOF
sqlValues =3D ""
For i =3D 0 To rec.Fields.Count - 1
sqlValues =3D sqlValues & DataValue(rec.Fields(i))
If i <> rec.Fields.Count - 1 Then
sqlValues =3D sqlValues & ", "
End If
Next
ExecuteSQL sqlInsert & " VALUES(" & sqlValues & ")"
rec.MoveNext
' counter
recordCounter =3D recordCounter + 1
If MAX_RECORDS <> 0 Then
If recordCounter >=3D MAX_RECORDS Then Exit Do
End If
Loop
End Sub
' data transition Microsoft SQL Server --> MySQL
' DataValue$(fld As ADO.Field)
Function DataValue$(fld)
If IsNull(fld.Value) Then
DataValue =3D "NULL"
Else
Select Case fld.Type
=20
' integer numbers
Case adBigInt, adInteger, adSmallInt, adTinyInt, adUnsignedBigInt,
adUnsignedInt, adUnsignedSmallInt, adUnsignedTinyInt
DataValue =3D fld.Value
=20
' decimal numbers
Case adCurrency, adDecimal, adDouble, adNumeric, adSingle, =
adVarNumeric
DataValue =3D Str(fld.Value)
If Not InStr(DataValue, ".") > 0 Then
DataValue =3D DataValue & ".0"
End If
=20
' boolean
Case adBoolean
DataValue =3D IIf(fld.Value, 1, 0)
=20
' date, time
Case adDate, adDBDate, adDBTime
DataValue =3D Format(fld.Value, "'yyyy-mm-dd Hh:Nn:Ss'")
Case adDBTimeStamp
DataValue =3D Format(fld.Value, "yyyymmddHhNnSs")
Case adFileTime
' todo
Beep
Stop
=20
' ANSI strings
Case adBSTR, adChar, adLongVarChar, adVarChar
DataValue =3D "'" & Quote(fld.Value) & "'"
=20
' UNICODE strings
Case adLongVarWChar, adVarWChar, adWChar
If UNICODE_TO_BLOB =3D True Then
DataValue =3D HexCodeStr(fld.Value)
Else
' we hope the string only contains ANSI characters ...
DataValue =3D "'" & Quote(fld.Value) & "'"
End If
=20
' binary and other
Case adGUID
DataValue =3D HexCodeGUID(fld.Value)
Case adLongVarBinary, adVarBinary
DataValue =3D HexCode(fld.Value)
=20
End Select
End If
End Function
' converts a Byte-array into a hex string
' HexCode$(bytedata() As Byte)
Function HexCode(bytedata)
Dim i&
Dim tmp$
tmp =3D ""
For i =3D LBound(bytedata) To UBound(bytedata)
If bytedata(i) <=3D 15 Then
tmp =3D tmp + "0" + Hex(bytedata(i))
Else
tmp =3D tmp + Hex(bytedata(i))
End If
Next
HexCode =3D "0x" + tmp
End Function
' converts a String into a hex string
' HexCode$(bytedata() As Byte)
Function HexCodeStr(bytedata)
Dim i&, b&
Dim tmp$
tmp =3D ""
For i =3D 1 To LenB(bytedata)
b =3D AscB(MidB(bytedata, i, 1))
If b <=3D 15 Then
tmp =3D tmp + "0" + Hex(b)
Else
tmp =3D tmp + Hex(b)
End If
Next
HexCodeStr =3D "0x" + tmp
End Function
' returns name of new database
' NewDBName$(db As SQLDMO.Database)
Function NewDBName$(db)
If NEW_DB_NAME =3D "" Then
NewDBName =3D db.name
Else
NewDBName =3D NEW_DB_NAME
End If
End Function
' quote ' " and \; replace chr(0) by \0
Function Quote(tmp)
tmp =3D Replace(tmp, "\", "\\")
tmp =3D Replace(tmp, """", "\""")
tmp =3D Replace(tmp, "'", "\'")
Quote =3D Replace(tmp, Chr(0), "\0")
End Function
' to translate MSSQL names to legal MySQL names
' replace blank, -, ( and ) by '_'
Function MySQLName(tmp)
tmp =3D Replace(tmp, " ", "_")
tmp =3D Replace(tmp, "-", "_")
tmp =3D Replace(tmp, "(", "_")
MySQLName =3D Replace(tmp, ")", "_")
End Function
' either execute SQL command or write it into file
Function ExecuteSQL(sql)
If OUTPUT_TO_FILE Then
fileout.WriteLine sql & ";"
If Left$(sql, 6) <> "INSERT" Then
fileout.WriteLine
End If
Else
mysqlConn.Execute sql
End If
End Function
' this event procedures starts the converter if it is run as a VB6 =
programm
Private Sub Form_Load()
Main
End
End Sub
' converts a GUID string into a hex string without format
Function HexCodeGUID(bytedata)
Dim tmp$
If Len(bytedata) =3D 38 Then
tmp =3D Mid(bytedata, 2, 8) + Mid(bytedata, 11, 4) + Mid(bytedata, =
16, 4)
_
+ Mid(bytedata, 21, 4) + Mid(bytedata, 26, 12)
Else
tmp =3D "00"
End If
HexCodeGUID =3D "0x" + tmp
End Function
' uncomment the following lines if you are using Office 97,
' which does not have the Replace function include; please
' note that this Replace function is much slower than the
' built-in version in Office 2000/VB6
'
' to replace all occurrences of a string within a string
' Function Replace(tmp, fromStr, toStr)
' Dim leftOff&
' Dim pos&
' leftOff =3D 1
' Do While InStr$(leftOff, tmp, fromStr) > 0
' pos =3D InStr$(leftOff, tmp, fromStr)
' tmp =3D Left$(tmp, pos - 1) + toStr + Mid$(tmp, pos + =
Len(fromStr),
Len(tmp))
' leftOff =3D pos + Len(fromStr) + 1
' Loop
' Replace =3D tmp
' End Function
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D
Peter Lindstrom
All Analog - High Speed Design Consulting
Ottawa, ON
Voice: 613-612-1419
Email: pta (AT) allanalog (DOT) com
Web: www.allanalog.com =20
=A0
-----Original Message-----
From: Peter [mailto

ta (AT) rogers (DOT) com]=20
Sent: October 27, 2003 3:45 AM
To: 'Karam Chand'; 'Gary Kephart'; 'Nestor Florez'
Cc: win32 (AT) lists (DOT) mysql.com
Subject: RE: What is the quickest way to convert an ACCESS db to mysql?
Not sure if this script will work for Access but it works for MS SQL and
they are pretty close. Simply open your Access DB and make a new module.
Paste this text into the module and edit the parameters in the CONST =
section
near the top.
Then hit F5 to run the macro.
It worked flawlessly for my MS SQL DB.
Peter Lindstrom
All Analog - High Speed Design Consulting
Ottawa, ON
Voice: 613-612-1419
Email: pta (AT) allanalog (DOT) com
Web: www.allanalog.com =20
=A0
-----Original Message-----
From: Karam Chand [mailto:karam_chand02 (AT) yahoo (DOT) com]=20
Sent: October 26, 2003 2:33 AM
To: Gary Kephart; Nestor Florez
Cc: win32 (AT) lists (DOT) mysql.com
Subject: Re: What is the quickest way to convert an ACCESS db to mysql?
I prefer SQLyog at http://www.webyog.com/sqlyog
For $49...it is a very good buy!!!!=20
--- Gary Kephart <gary_kephart (AT) pobox (DOT) com> wrote:
Quote:
Nestor Florez wrote:
=20
Hello people,
Any ideas on the quickest way to convert an ACCESS
database to MYSQL?
=20
I bought myadmin from http://www.myadmin.org/ for
$35.
=20
Gary
=20
--=20
Gary Kephart
mailto:gary_kephart (AT) pobox (DOT) com
http://www.pobox.com/~gary_kephart
=20
"Never attribute to malice that which is adequately
explained by
stupidity." -- Hanlon's Razor.
=20
=20
=20
=20
--=20
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: =20
http://lists.mysql.com/win32?unsub=3...ahoo (DOT) com
=20 |
__________________________________
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/
--=20
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3...gers (DOT) com
--=20
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3...gers (DOT) com
--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3...ie.nctu.edu.tw