| MySQL OLE DB Provider |
| Introduction |
MySQL probably is the most popular open source database server. To
learn more about MySQL Database server, please visit MySQL Website.
You may download MySQL, its tool and their source code from
MySQL Website. The MySQL OLE DB
Provider is implemented with ATL OLE DB Provider templates so that
the provider itself has small footprint even though the provider
does not have many dependencies. You may use ADO or ADO.NET 2.0 to
access data with MySQL OLE DB Provider
|
| Why Do You Need MySQL OLE DB Provider |
MySQL OLE DB Provider can be used to access MySQL
database in your native code and .NET code as well. It has few
dependency and is is very easy to use and very easy to deploy as
well.
Most importantly, Cherry City Software MySQL OLE DB
Provider is the best OLE DB Provider for MySQL
database.
|
| Features |
The following are the features that this MySQL OLE DB
Provider supports:
- Transaction
- Record scroll
- Parameters - input and output
- Bookmarks
- Database Schema - tables and their columns
- Extended error information
- Multiple queries in one single execution*
- Transparency - all scripts are transparent to MySQL engine
- Command Preparation and Column Information on command
object
- IColumnsRowset**
- Record Add/Delete/Update on the fly**
-
MySQL as linked server in SQL Server 2005**
The current release was tested with MySQL 4.1.x and 5.x
MySQL TIME is mapped to string. MySQL ENUM, SET and GEOMETRY data
types are not supported.
* - If the SQL statements have parameters, each
statement must be executed seperately.
** - Not applicable if MySQL version is 4.1.x or
older
|
| MySQL Provider Connection String |
Provider=MySQL Provider; Data Source=MySQLServerIP; User ID =MyID;
Password=MyPassword; Initial Catalog=DatabaseName;
Where
- MySQLServerIP is IP address of MySQL database server. If MySQL
Server is listening on a port other than the default port (3306),
you may specify the port number after the server name with a comma
delimitor. Here is an example: 127.0.0.1,6306
- MyID/MyPassword are the credentials for the user to gain access
to MySQL databases
- DatabaseName is the database name on the MySQL Server that you
want to connect to
|
| Working with MySQL OLE DB Provider |
Using MySQL OLE DB Provider is simple if you have the knowledge of
ADO or ADO.NET. The sample code is intended to demostrate how to
use MySQL OLE DB Provider. You may find sample code below that
demostrate how to use MySQL OLE DB Provider with ADO and ADO.NET.
The sample will show you how to use the following features:
- Transaction
- Parameter input and output
- Database schema
- Record scroll
- Bookmark
|
|
| Using MySQL OLE DB Provider in Visual Studio 2005 IDE |
Using MySQL OLE DB Provider with Visual Studio 2005 IDE
is very handy. You can readily add
MySQL OLE DB Provider into Visual Studio 2005 IDE by adding
Data connections via the OLE DB provider.
|
| Using MySQL OLE DB Provider with SQL Server DTS |
Refer to
Using MySQL Provider to transfer MySQL data into SQL
Server.
|
| Activation |
MySQL OLE DB Provider must be activated before you can
use it. To activate it, you must download the provider and get your
passcode from the Activator included in the package. Click here to get activation
code.
|
| Download |
Update History:
| Date |
Changes |
| 2010-08-29 |
Improved performance on query execution such that column schema
information is retrieved if and only if needed |
| 2010-07-22 |
Fixed a defect with out join and show grants in linked
server |
| 2010-07-03 |
Fixed a defect with blob data type in the case such that the
data size is bigger than 8000 bytes |
| 2010-06-23 |
Corrected error message for registration failure |
MySQL OLE DB Provider (Win32 Beta)
MySQL OLE DB Provider (Win32)
MySQL OLE DB Provider (Win64 Beta)
MySQL OLE DB Provider (Win64)
Provider VB Test source
C# Sample source code
|
| Disclaim |
This whole post here including the downloads is
provided 'as-is', without any express or implied warranty. In no
event will the author be held liable for any damages arising from
the use of this software.
|
| VB Sample Code |
'define connection used
through out in the form
Private mConn As ADODB.Connection
'//Synposis:
'//1. Create an ADO
connection
'//2. Enable Read Data
button if the table exists
Private Sub Form_Load()
On Error
GoTo trap
Set mConn =
New Connection
'connect to MySQL server (localhost,
port 3306), Database Name: test
mConn.Open
"Provider=OleMySql.MySqlSource.1; " _
& " Data Source=localhost,3306; Initial
Catalog=test", _
"root",
"myPassword"
If
DoesTableExist("AllFields") Then
Me.Command3.Enabled = True
End If
Exit
Sub
trap:
MsgBox
Err.Description
End Sub
'//Synposis:
'//1. Create a table named
AllFields if it does not exist. If the table
exits,
'//delete all records from
the table.
'//2. Insert some records
into the table
'//3. Update the records
using parameters which makes it easy for
'//binary data
manipulation
Private Sub Command1_Click()
On Error
GoTo trap
On Error
GoTo trap
Dim cmd As
New ADODB.Command
cmd.ActiveConnection = mConn
'delete all data from the table if table
exists
If
DoesTableExist("AllFields") Then
cmd.CommandText = "DELETE FROM AllFields;"
Else 'create AllFields table if it does not
exists
cmd.CommandText = "CREATE TABLE AllFields" _
& "(ID INTEGER PRIMARY KEY, Name VARCHAR(20), "
_
& "LongDoc MEDIUMTEXT, Image BLOB, Date5 DATE, "
_
& "datetime6 DATETIME, time6 TIME, " _
& "timestamp7 TIMESTAMP, Year8 YEAR);"
End If
cmd.Execute
cmd.CommandText = ""
'insert data using multiple query statements
Dim n As
Long
Dim I As
Long
For I = 0 To
300
cmd.CommandText = cmd.CommandText _
& "INSERT INTO AllFields (ID, Name, LongDoc, Date5,
" _
& "datetime6, time6, timestamp7, Year8) VALUES ("
_
& I & ", 'Sean D', 'this field can
hold long long" _
& " long long ... text string',
'2005-6-10', " _
& "'2005-6-12 09:01:10', '6:05:00', '2005-6-15
1:22:11', 2005);"
Next I
mConn.BeginTrans
cmd.Execute
n
mConn.CommitTrans
'update records with Parameters
Dim BA(999)
As Byte
For I = 0 To
999
BA(I) = (I + 1) Mod 256
|