You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by ro...@apache.org on 2005/03/21 05:05:26 UTC

svn commit: r158409 - in incubator/ibatis/trunk/cs: docs/tutorial/src/en/ npetshop/External-bin/ npetshop/NPetshop.Persistence/ npetshop/NPetshop.Persistence/Ddl/MSSQL/ npetshop/NPetshop.Persistence/MapperDao/ npetshop/NPetshop.Service/ npetshop/NPetshop.Web/ npetshop/NPetshop.Web/Maps/

Author: roberto
Date: Sun Mar 20 20:05:23 2005
New Revision: 158409

URL: http://svn.apache.org/viewcvs?view=rev&rev=158409
Log:
~ Updated NPetshop for Jan DataMapper 1.1 Alpha and DataAccess 1.5 Alpha build 458 
  (ONLY tested with MS SQL Server using sqlServer1.1 provider!)
~ Updated C# tutorial.xml (one sentence change)

Added:
    incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.Extensions.dll   (with props)
Modified:
    incubator/ibatis/trunk/cs/docs/tutorial/src/en/tutorial.xml
    incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.Common.dll
    incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.dll
    incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataMapper.dll
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/DataLoad.sql
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/Schema.sql
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/MapperDao/BaseSqlMapDao.cs
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/NPetshop.Persistence.csproj
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Service/BillingService.cs
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/Maps/Account.xml
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/dao.config
    incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/providers.config

Modified: incubator/ibatis/trunk/cs/docs/tutorial/src/en/tutorial.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/docs/tutorial/src/en/tutorial.xml?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/docs/tutorial/src/en/tutorial.xml (original)
+++ incubator/ibatis/trunk/cs/docs/tutorial/src/en/tutorial.xml Sun Mar 20 20:05:23 2005
@@ -341,12 +341,13 @@
     specify another configuration, as so:<programlisting>_mapperTwo = SqlMapper.ConfigureAndWatch ("sqlmap2.config", handler);</programlisting>You
     can access as many different database configurations as you need, just by
     setting up additional <classname>SqlMapper</classname> instances using
-    different configuration files. Each <classname>SqlMapper</classname>
-    configuration is a facade for accessing a datasource. As far as our
-    application knows, the <classname>SqlMapper</classname> *is* the
-    datasource. Behind the <classname>SqlMapper</classname> facade, you can
-    change the location of the database, or switch between SQL statements and
-    stored procedures, with zero-changes to your application code.</para>
+    different configuration files. Each configured
+    <classname>SqlMapper</classname> instance acts as a facade for accessing a
+    datasource. As far as our application knows, the
+    <classname>SqlMapper</classname> *is* the datasource. Behind the
+    <classname>SqlMapper</classname> facade, you can change the location of
+    the database, or switch between SQL statements and stored procedures, with
+    zero-changes to your application code.</para>
 
     <para>If we put this all together into a solution, we can "green bar" our
     test, as shown by Figure 1. If you'd like to see that bar for yourself,

Modified: incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.Common.dll
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.Common.dll?view=diff&r1=158408&r2=158409
==============================================================================
Binary files - no diff available.

Added: incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.Extensions.dll
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.Extensions.dll?view=auto&rev=158409
==============================================================================
Binary file - no diff available.

Propchange: incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.Extensions.dll
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.dll
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataAccess.dll?view=diff&r1=158408&r2=158409
==============================================================================
Binary files - no diff available.

Modified: incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataMapper.dll
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/External-bin/IBatisNet.DataMapper.dll?view=diff&r1=158408&r2=158409
==============================================================================
Binary files - no diff available.

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/DataLoad.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/DataLoad.sql?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/DataLoad.sql (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/DataLoad.sql Sun Mar 20 20:05:23 2005
@@ -83,3 +83,4 @@
 INSERT INTO [Inventories] VALUES ('EST-27', 10000)
 INSERT INTO [Inventories] VALUES ('EST-28', 10000)
 
+INSERT INTO [Sequences] (Sequence_Name, Sequence_NextId) VALUES ('OrderNum', 0)
\ No newline at end of file

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/Schema.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/Schema.sql?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/Schema.sql (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/Ddl/MSSQL/Schema.sql Sun Mar 20 20:05:23 2005
@@ -244,7 +244,7 @@
 -- CREATE TABLE [Orders]
 -- -------------------------------------------------------------------------------------------------*/
 CREATE TABLE [Orders] (
-	[Order_Id] [int] IDENTITY (1, 1) NOT NULL ,
+	[Order_Id] [int] NOT NULL ,
 	[Account_ID] varchar(20) NOT NULL ,
 	[Order_Date] datetime NOT NULL ,
 	[Order_ShipToFirstName] varchar(80) NOT NULL ,

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/MapperDao/BaseSqlMapDao.cs
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/MapperDao/BaseSqlMapDao.cs?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/MapperDao/BaseSqlMapDao.cs (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/MapperDao/BaseSqlMapDao.cs Sun Mar 20 20:05:23 2005
@@ -2,9 +2,10 @@
 using System;
 using System.Collections;
 
-using IBatisNet.Common.Exceptions;
+using IBatisNet.Common;
 using IBatisNet.Common.Pagination;
 using IBatisNet.DataAccess;
+using IBatisNet.DataAccess.Exceptions;
 using IBatisNet.DataAccess.DaoSessionHandlers;
 using IBatisNet.DataAccess.Interfaces;
 using IBatisNet.DataMapper;
@@ -35,7 +36,7 @@
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -49,13 +50,13 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for list.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for list.  Cause: " + e.Message, e);
 			}
 		}
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -71,13 +72,13 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for list.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for list.  Cause: " + e.Message, e);
 			}
 		}
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -92,13 +93,13 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for paginated list.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for paginated list.  Cause: " + e.Message, e);
 			}
 		}
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -113,13 +114,13 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for object.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for object.  Cause: " + e.Message, e);
 			}
 		}
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -134,13 +135,13 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for update.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for update.  Cause: " + e.Message, e);
 			}
 		}
 
 		/// <summary>
 		/// Simple convenience method to wrap the SqlMap method of the same name.
-		/// Wraps the exception with a IBatisNetException to isolate the SqlMap framework.
+		/// Wraps the exception with a DataAccessException to isolate the SqlMap framework.
 		/// </summary>
 		/// <param name="statementName"></param>
 		/// <param name="parameterObject"></param>
@@ -155,7 +156,7 @@
 			} 
 			catch (Exception e) 
 			{
-				throw new IBatisNetException("Error executing query '"+statementName+"' for insert.  Cause: " + e.Message, e);
+				throw new DataAccessException("Error executing query '"+statementName+"' for insert.  Cause: " + e.Message, e);
 			}
 		}
 	}

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/NPetshop.Persistence.csproj
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/NPetshop.Persistence.csproj?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/NPetshop.Persistence.csproj (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Persistence/NPetshop.Persistence.csproj Sun Mar 20 20:05:23 2005
@@ -100,34 +100,14 @@
                     HintPath = "..\External-bin\IBatisNet.DataAccess.dll"
                 />
                 <Reference
-                    Name = "ByteFX.MySqlClient"
-                    AssemblyName = "ByteFX.MySqlClient"
-                    HintPath = "..\External-bin\ByteFX.MySqlClient.dll"
-                />
-                <Reference
-                    Name = "log4net"
-                    AssemblyName = "log4net"
-                    HintPath = "..\External-bin\log4net.dll"
-                />
-                <Reference
-                    Name = "ICSharpCode.SharpZipLib"
-                    AssemblyName = "ICSharpCode.SharpZipLib"
-                    HintPath = "..\External-bin\ICSharpCode.SharpZipLib.dll"
-                />
-                <Reference
-                    Name = "Npgsql"
-                    AssemblyName = "Npgsql"
-                    HintPath = "..\External-bin\Npgsql.dll"
-                />
-                <Reference
                     Name = "Mono.Security.Protocol.Tls"
                     AssemblyName = "Mono.Security.Protocol.Tls"
                     HintPath = "..\External-bin\Mono.Security.Protocol.Tls.dll"
                 />
                 <Reference
-                    Name = "Apache.Avalon.DynamicProxy"
-                    AssemblyName = "Apache.Avalon.DynamicProxy"
-                    HintPath = "..\External-bin\Apache.Avalon.DynamicProxy.dll"
+                    Name = "Castle.DynamicProxy"
+                    AssemblyName = "Castle.DynamicProxy"
+                    HintPath = "..\External-bin\Castle.DynamicProxy.dll"
                 />
             </References>
         </Build>

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Service/BillingService.cs
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Service/BillingService.cs?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Service/BillingService.cs (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Service/BillingService.cs Sun Mar 20 20:05:23 2005
@@ -52,13 +52,12 @@
 
 		public void InsertOrder(Order order) 
 		{
+			// Get the next id within a separate transaction
+			order.Id = GetNextId("OrderNum");
+
+			_daoManager.BeginTransaction();
 			try 
 			{
-				// Get the next id within a separate transaction
-				order.Id = GetNextId("OrderNum");
-
-				_daoManager.BeginTransaction();
-
 				_itemDao.UpdateQuantity(order);
 				_orderDao.InsertOrder(order);
 
@@ -82,9 +81,10 @@
 		public int GetNextId(string key) 
 		{
 			int id = -1;
+
+			_daoManager.BeginTransaction();
 			try 
 			{
-				_daoManager.BeginTransaction();
 				id = _sequenceDao.GetNextId(key);
 				_daoManager.CommitTransaction();
 			} 

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/Maps/Account.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/Maps/Account.xml?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/Maps/Account.xml (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/Maps/Account.xml Sun Mar 20 20:05:23 2005
@@ -62,11 +62,17 @@
 			Account_Phone = #Address.Phone# 
 			where Account_Id = #Login#
 		</update>
+		
+		<!--
+		NOTE: 
+		Specified bit type for boolean property for SqlServer 1.1 provider
+		Change type for other providers
+		-->
 		<insert id="InsertProfile" parameterClass="Account">
 			insert into Profiles 
 				(Profile_LangPref, Profile_FavCategory, Profile_MyListOpt, Profile_BannerOpt, Account_Id)
 			values 
-				(#Profile.FavoriteLanguage#, #Profile.FavouriteCategory.Id#, #Profile.IsShowFavorites#, #Profile.IsShowBanners#, #Login#)
+				(#Profile.FavoriteLanguage#, #Profile.FavouriteCategory.Id#, #Profile.IsShowFavorites:bit#, #Profile.IsShowBanners:bit#, #Login#)
 		</insert>
 		<update id="UpdateProfile" parameterClass="Account">
 			update Profiles 

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/dao.config
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/dao.config?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/dao.config (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/dao.config Sun Mar 20 20:05:23 2005
@@ -5,7 +5,8 @@
 	<context id="SqlMapDao" default="true">
 		<!-- ==== Sql Server : SqlClient configuration ========= 	-->
 		<database>
-			<dataSource name="SqlServer" connectionString="data source=(local)\NetSDK;database=NPetshop;user id=NPetshop;password=ibatisnet;connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/>
+			<provider name="sqlServer1.1"/>
+			<dataSource name="NPetshop" connectionString="data source=localhost;database=NPetshop;user id=NPetshop;password=ibatisnet;connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/>
 		</database>
 		
 		<!-- ==== MySql : MySQLAB1Beta configuration (too buggy in beta 1)========= 
@@ -35,19 +36,14 @@
 		<daoFactory>
 			<dao interface="NPetshop.Persistence.Interfaces.Catalog.ICategoryDao, NPetshop.Persistence" 
 				implementation="NPetshop.Persistence.MapperDao.Catalog.CategorySqlMapDao, NPetshop.Persistence"/>
-			
 			<dao interface="NPetshop.Persistence.Interfaces.Catalog.IProductDao, NPetshop.Persistence" 
-				implementation="NPetshop.Persistence.MapperDao.Catalog.ProductSqlMapDao, NPetshop.Persistence"/>	
-			
+				implementation="NPetshop.Persistence.MapperDao.Catalog.ProductSqlMapDao, NPetshop.Persistence"/>
 			<dao interface="NPetshop.Persistence.Interfaces.Catalog.IItemDao, NPetshop.Persistence" 
-				implementation="NPetshop.Persistence.MapperDao.Catalog.ItemSqlMapDao, NPetshop.Persistence"/>	
-			
+				implementation="NPetshop.Persistence.MapperDao.Catalog.ItemSqlMapDao, NPetshop.Persistence"/>
 			<dao interface="NPetshop.Persistence.Interfaces.Accounts.IAccountDao, NPetshop.Persistence" 
 				implementation="NPetshop.Persistence.MapperDao.Accounts.AccountSqlMapDao, NPetshop.Persistence"/>			
-			
 			<dao interface="NPetshop.Persistence.Interfaces.ISequenceDao, NPetshop.Persistence" 
-				implementation="NPetshop.Persistence.MapperDao.SequenceSqlMapDao, NPetshop.Persistence"/>
-			
+				implementation="NPetshop.Persistence.MapperDao.SequenceSqlMapDao, NPetshop.Persistence"/>			
 			<dao interface="NPetshop.Persistence.Interfaces.Billing.IOrderDao, NPetshop.Persistence" 
 				implementation="NPetshop.Persistence.MapperDao.Billing.OrderSqlMapDao, NPetshop.Persistence"/>
 		</daoFactory>

Modified: incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/providers.config
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/providers.config?view=diff&r1=158408&r2=158409
==============================================================================
--- incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/providers.config (original)
+++ incubator/ibatis/trunk/cs/npetshop/NPetshop.Web/providers.config Sun Mar 20 20:05:23 2005
@@ -4,6 +4,7 @@
 	<clear/>
 	<provider
 		name="sqlServer1.0"
+		description="Microsoft SQL Server 7.0/2000 provider in framework .NET V1.0"
 		enabled="false"
 		assemblyName="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
 		connectionClass="System.Data.SqlClient.SqlConnection" 
@@ -20,6 +21,7 @@
 		/>	
 	<provider
 		name="sqlServer1.1"
+		description="Microsoft SQL Server 7.0/2000 provider in framework .NET V1.1"
 		default="true"
 		assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
 		connectionClass="System.Data.SqlClient.SqlConnection"
@@ -36,6 +38,7 @@
 	/>		
 	<provider 
 		name="OleDb1.1" 
+		description="OleDb provider in framework .NET V1.1"
 		enabled="true" 
 		assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
 		connectionClass="System.Data.OleDb.OleDbConnection" 
@@ -52,6 +55,7 @@
 	/>
 	<provider 
 		name="Odbc1.1" 
+		description="Odbc provider in framework .NET V1.1"
 		enabled="true" 
 		assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
 		connectionClass="System.Data.Odbc.OdbcConnection" 
@@ -68,12 +72,13 @@
 	/>
 	<provider
 		name="oracle9.2"
+		description="Oracle provider V9.2"
 		enabled="false"
 		assemblyName="Oracle.DataAccess, Version=9.2.0.401, Culture=neutral, PublicKeyToken=89b483f429c47342"
 		connectionClass="Oracle.DataAccess.Client.OracleConnection" 
 		commandClass="Oracle.DataAccess.Client.OracleCommand"
 		parameterClass="Oracle.DataAccess.Client.OracleParameter"
-		parameterDbTypeClass="System.Data.Client.OracleDbType"
+		parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
 		parameterDbTypeProperty="OracleDbType"
 		dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
 		commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
@@ -82,9 +87,28 @@
 		useParameterPrefixInParameter = "false"
 		parameterPrefix=":" 
 	/>
+	<provider 
+		name="oracleClient1.0" 
+		description="MS Oracle provider V1.0.5"
+		enabled="true" 
+		default="false"
+		assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
+		connectionClass="System.Data.OracleClient.OracleConnection"  
+		commandClass="System.Data.OracleClient.OracleCommand" 
+		parameterClass="System.Data.OracleClient.OracleParameter" 
+		parameterDbTypeClass="System.Data.OracleClient.OracleType" 
+		parameterDbTypeProperty="OracleType" 
+		dataAdapterClass="System.Data.OracleClient.OracleDataAdapter" 
+		commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder" 
+		usePositionalParameters = "false" 
+		useParameterPrefixInSql = "true" 
+		useParameterPrefixInParameter = "false" 
+		parameterPrefix=":" 
+	/>
 	<provider
 		name="ByteFx"
-		enabled="true"
+		description="MySQL provider"
+		enabled="false"
 		assemblyName="ByteFX.MySqlClient, Version=0.7.6.15073, Culture=neutral, PublicKeyToken=f2fef6fed1732fc1"
 		connectionClass="ByteFX.Data.MySqlClient.MySqlConnection" 
 		commandClass="ByteFX.Data.MySqlClient.MySqlCommand"
@@ -98,11 +122,11 @@
 		useParameterPrefixInParameter = "true"				
 		parameterPrefix="@"
 	/>
-	<!-- Too buggy -->
 	<provider
-		name="MySQLAB1Beta"
+		name="MySql"
+		description="MySQL provider"
 		enabled="false"
-		assemblyName="MySql.Data, Version=1.0.0.22708, Culture=neutral, PublicKeyToken=null"
+		assemblyName="MySql.Data, Version=1.0.3.31712, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
 		connectionClass="MySql.Data.MySqlClient.MySqlConnection" 
 		commandClass="MySql.Data.MySqlClient.MySqlCommand"
 		parameterClass="MySql.Data.MySqlClient.MySqlParameter"
@@ -114,7 +138,7 @@
 		useParameterPrefixInSql = "true"
 		useParameterPrefixInParameter = "true"				
 		parameterPrefix="@"
-	/>
+	/>	
 	<provider
 		name="Npgsql"
 		enabled="false"