+++ /dev/null
-//
-// AssemblyInfo.cs
-//
-// Author:
-// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2003 Ximian, Inc. http://www.ximian.com
-// (C) 2004 Novell (http://www.novell.com)
-//
-
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyVersion (Consts.FxVersion)]
-
-/* TODO COMPLETE INFORMATION
-
-[assembly: AssemblyTitle ("")]
-[assembly: AssemblyDescription ("")]
-
-[assembly: CLSCompliant (true)]
-[assembly: AssemblyFileVersion ("0.0.0.1")]
-
-[assembly: ComVisible (false)]
-
-*/
-
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../mono.pub")]
-
+++ /dev/null
-2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
-
- * DataTools.cs
- * Provider.cs
- * ProviderCollection.cs
- * ProviderFactory.cs: Fixed line endings.
-
-2008-09-06 Daniel Morgan <monodanmorg@yahoo.com>
-
- * ProviderSectionHandler.cs
- * ProviderFactory.cs
- * ProviderCollection.cs
- * DataTools.cs
- * Provider.cs: for the NET_2_0 profile,
- added Obsolete attribute
- to all classes in assembly Mono.Data because it
- has been superceded by DbProviderFactories in System.Data
-
-2006-02-13 Daniel Morgan <danielmorgan@verizon.net>
-
- * ProviderSectionHandler.cs
- * Provider.cs: add support
- for parameter prefix and command builder
-
- * app.config: updated the sample app.config file
- to include parameterprefix and commandbuilder on
- some providers
-
-2006-02-13 Daniel Morgan <danielmorgan@verizon.net>
-
- Patches from Brad Langhorst <brad@langhorst.com>
-
- * ProviderSectionHandler.cs
- * ProviderFactory
- * ProviderCollection.cs
- * DataTools.cs
- * Provider.cs: catch invalid args,
- allow non-qualified assembly loading,
- warn about empty providers
-
-2005-12-31 Daniel Morgan <danielmorgan@verizon.net>
-
- * test/test.exe.config
- * app.config: add new ADO.NET providers, remove obsolete providers, and
- add more sample connection strings
-
- * Provider.cs: load providers internal to System.Data differently than those
- that are external, better error handling for assembly or connection class not found
-
-2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DataTools.cs: in FillDataSet(string,SelectCommand), use the connection
- got from the configuration file to create the data adapter. Patch by
- Matthijs ter Woord.
-
-2003-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * ProviderSectionHandler.cs: use XPath to get the providers to avoid
- getting an exception when there's whitespace, comments... Patch by Marco
- Canini <marco.canini@fastwebnet.it>.
-
+++ /dev/null
-//\r
-// Mono.Data.DataTools\r
-//\r
-// Authors:\r
-// Brian Ritchie (brianlritchie@hotmail.com) \r
-// \r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-// \r
-//\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-using System;\r
-using System.Data;\r
-\r
-namespace Mono.Data\r
-{\r
- /// <summary>\r
- /// Summary description for ProviderTools.\r
- /// </summary>\r
-#if NET_2_0\r
- [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]\r
-#endif\r
- public class DataTools\r
- {\r
- public DataTools()\r
- {\r
- }\r
-\r
- static public IDataParameter AddParameter(IDbCommand Cmd, string ParameterName, DbType DbType, \r
- ParameterDirection Direction)\r
- {\r
- if (Cmd == null) \r
- throw new System.ArgumentNullException ("Cmd");\r
- if (ParameterName == null) \r
- throw new System.ArgumentNullException ("ParameterName");\r
-\r
- IDataParameter param = Cmd.CreateParameter ();\r
- Cmd.Parameters.Add (param);\r
- param.ParameterName = ParameterName;\r
- param.Direction = Direction;\r
- param.DbType = DbType;\r
- return param;\r
- }\r
-\r
- static public IDataParameter AddParameter(IDbCommand Cmd, string ParameterName, DbType DbType)\r
- {\r
- if (Cmd == null) \r
- throw new System.ArgumentNullException ("Cmd");\r
- if (ParameterName == null) \r
- throw new System.ArgumentNullException("ParameterName");\r
-\r
- IDataParameter param = Cmd.CreateParameter ();\r
- Cmd.Parameters.Add (param);\r
- param.ParameterName = ParameterName;\r
- param.DbType = DbType;\r
- return param;\r
- }\r
-\r
- static public DataSet FillDataSet (IDbConnection conn, string SelectCommand)\r
- {\r
- if (conn == null) \r
- throw new System.ArgumentNullException ("conn");\r
- if (SelectCommand == null) \r
- throw new System.ArgumentNullException ("SelectCommand");\r
-\r
- DataSet ds = new DataSet ();\r
- IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (conn, SelectCommand);\r
- if (conn.State != ConnectionState.Open)\r
- conn.Open ();\r
- adapter.Fill (ds);\r
- return ds;\r
- }\r
-\r
- static public DataSet FillDataSet(IDbCommand SelectCommand)\r
- {\r
- if (SelectCommand == null) \r
- throw new System.ArgumentNullException ("SelectCommand");\r
-\r
- DataSet ds = new DataSet ();\r
- IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (SelectCommand);\r
- if (adapter.SelectCommand.Connection.State != ConnectionState.Open)\r
- adapter.SelectCommand.Connection.Open ();\r
- adapter.Fill (ds);\r
- return ds;\r
- }\r
-\r
- static public DataSet FillDataSet(string ConfigSetting, string SelectCommand)\r
- {\r
- if (ConfigSetting == null) \r
- throw new System.ArgumentNullException ("ConfigSetting");\r
- if (SelectCommand == null) \r
- throw new System.ArgumentNullException ("SelectCommand");\r
-\r
- IDbConnection conn = ProviderFactory.CreateConnectionFromConfig (ConfigSetting);\r
- conn.Open ();\r
- DataSet ds = null;\r
- try\r
- {\r
- ds = new DataSet ();\r
- IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (conn, SelectCommand);\r
- adapter.Fill (ds);\r
- }\r
- finally\r
- {\r
- conn.Close ();\r
- }\r
- return ds;\r
- }\r
-\r
-\r
- }\r
-}\r
-\r
+++ /dev/null
-thisdir = class/Mono.Data
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = Mono.Data.dll
-LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll \
- /r:System.Data.dll
-NO_TEST = yes
-
-include ../../build/library.make
+++ /dev/null
-AssemblyInfo.cs
-../../build/common/Consts.cs
-DataTools.cs
-Provider.cs
-ProviderCollection.cs
-ProviderFactory.cs
-ProviderSectionHandler.cs
+++ /dev/null
-//\r
-// Mono.Data.Provider\r
-//\r
-// Authors:\r
-// Brian Ritchie (brianlritchie@hotmail.com) \r
-// \r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-// \r
-//\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-using System;\r
-using System.Data;\r
-using System.Reflection;\r
-using System.IO;\r
-\r
-namespace Mono.Data\r
-{\r
-#if NET_2_0\r
- [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]\r
-#endif\r
- public class Provider\r
- {\r
- private string name = null;\r
- private string connectionTypeName;\r
- private string adapterTypeName;\r
- private string commandTypeName;\r
- private Type connectionType;\r
- private Type adapterType;\r
- private Type commandType;\r
- private Assembly providerAssembly;\r
- private string assemblyName;\r
- private string description;\r
- private string parameterprefix;\r
- private string commandBuilderTypeName = String.Empty;\r
- private Type commandBuilderType;\r
-\r
- public Provider(string _name, string _connection, \r
- string _dataadapter, string _command, string _assembly,\r
- string _description) \r
- {\r
- name = _name;\r
- connectionTypeName = _connection;\r
- adapterTypeName = _dataadapter;\r
- assemblyName = _assembly;\r
- commandTypeName = _command;\r
- description = _description;\r
- }\r
-\r
- public Provider(string _name, string _connection, \r
- string _dataadapter, string _command, string _assembly,\r
- string _description, string _parameterprefix, string _commandbuilder)\r
- {\r
- name = _name;\r
- connectionTypeName = _connection;\r
- adapterTypeName = _dataadapter;\r
- assemblyName = _assembly;\r
- commandTypeName = _command;\r
- description = _description;\r
-\r
- switch(_parameterprefix) {\r
- case "colon":\r
- parameterprefix = ":"; // named parameter prefixed by a semicolon\r
- break;\r
- case "at":\r
- parameterprefix = "@"; // named parameter prefixed by an at symbol\r
- break;\r
- case "questionmark":\r
- parameterprefix = "?"; // postional parameter noted by the question mark\r
- break;\r
- }\r
-\r
- commandBuilderTypeName = _commandbuilder;\r
- }\r
-\r
- public Provider(string _name, Type _connection, Type _dataadapter, Type _command,\r
- string _description)\r
- {\r
- if (_connection == null) \r
- throw new System.ArgumentNullException ("_connection");\r
- if (_dataadapter == null) \r
- throw new System.ArgumentNullException ("_dataadapter");\r
- if (_command == null) \r
- throw new System.ArgumentNullException ("_command");\r
-\r
- name = _name;\r
- connectionTypeName = _connection.FullName;\r
- adapterTypeName = _dataadapter.FullName;\r
- commandTypeName = _command.FullName;\r
- connectionType = _connection;\r
- adapterType = _dataadapter;\r
- commandType = _command;\r
- description = _description;\r
- }\r
-\r
- public string Name\r
- {\r
- get {return name;}\r
- }\r
-\r
- public string Description\r
- {\r
- get {return description;}\r
- }\r
-\r
- public string ParameterPrefix \r
- {\r
- get {return parameterprefix;}\r
- }\r
-\r
- public Assembly ProviderAssembly {\r
- get {\r
- if (providerAssembly == null) {\r
- if (assemblyName.IndexOf(',') == -1) //try to load with a partial name if that's all we have\r
- providerAssembly = Assembly.LoadWithPartialName (assemblyName);\r
- else \r
- providerAssembly = Assembly.Load (assemblyName);\r
- }\r
-\r
- return providerAssembly;\r
- }\r
- }\r
-\r
- public Type ConnectionType\r
- {\r
- get {\r
- if (connectionType == null) {\r
- connectionType = ProviderAssembly.GetType (connectionTypeName, false);\r
- if (connectionType == null) {\r
- throw new Exception (String.Format ("Unable to load type of connection class: {0} from assembly: {1}",\r
- connectionTypeName, assemblyName));\r
- }\r
- }\r
- return connectionType;\r
- }\r
- }\r
-\r
- public Type DataAdapterType\r
- {\r
- get {\r
- if (adapterType == null) {\r
- adapterType = ProviderAssembly.GetType (adapterTypeName, false);\r
- if (adapterType == null) {\r
- throw new Exception (String.Format ("Unable to load type of adapter class: {0} from assembly: {1}",\r
- adapterTypeName, assemblyName));\r
- }\r
- }\r
- return adapterType;\r
- }\r
- }\r
-\r
- public Type CommandType {\r
- get {\r
- if (commandType == null) {\r
- commandType = ProviderAssembly.GetType (commandTypeName, false);\r
- if (commandType == null) {\r
- throw new Exception (String.Format ("Unable to load type of command class: {0} from assembly: {1}",\r
- commandTypeName, assemblyName));\r
- }\r
- }\r
- return commandType;\r
- }\r
- }\r
-\r
- public Type CommandBuilderType {\r
- get {\r
- if (commandBuilderType == null) {\r
- if (commandBuilderTypeName.Equals(String.Empty))\r
- throw new Exception("Provider does not have CommandBuilder type defined.");\r
- commandBuilderType = ProviderAssembly.GetType (commandBuilderTypeName, false);\r
- if (commandBuilderType == null) {\r
- throw new Exception (String.Format ("Unable to load type of command class: {0} from assembly: {1}",\r
- commandBuilderTypeName, assemblyName));\r
- }\r
- }\r
- return commandBuilderType;\r
- }\r
- }\r
-\r
- public IDbConnection CreateConnection()\r
- {\r
- object connObj = null;\r
-\r
- switch (Name) {\r
- case "System.Data.SqlClient":\r
- connObj = new System.Data.SqlClient.SqlConnection ();\r
- break;\r
- case "System.Data.Odbc":\r
- connObj = new System.Data.Odbc.OdbcConnection ();\r
- break;\r
- case "System.Data.OleDb":\r
- connObj = new System.Data.OleDb.OleDbConnection ();\r
- break;\r
- default:\r
- connObj = Activator.CreateInstance (ConnectionType);\r
- break;\r
- }\r
-\r
- if (connObj == null)\r
- throw new Exception (String.Format ("Unable to create instance of connection class: {0} from assembly: {1}",\r
- connectionTypeName, assemblyName));\r
- \r
- return (IDbConnection) connObj;\r
- }\r
-\r
- public IDbDataAdapter CreateDataAdapter()\r
- {\r
- object adapterObj = Activator.CreateInstance (DataAdapterType);\r
- if (adapterObj == null)\r
- throw new Exception (String.Format ("Unable to create instance of adapter class: {0} from assembly: {1}",\r
- adapterTypeName, assemblyName));\r
-\r
- return (IDbDataAdapter) adapterObj;\r
- }\r
-\r
- public IDbCommand CreateCommand()\r
- {\r
- object commandObj = Activator.CreateInstance (CommandType);\r
- if (commandObj == null)\r
- throw new Exception (String.Format ("Unable to create instance of command class: {0} from assembly: {1}",\r
- commandTypeName, assemblyName));\r
-\r
- return (IDbCommand) commandObj;\r
- }\r
-\r
- public object CreateCommandBuilder(IDbDataAdapter adapter) \r
- {\r
- if (adapter == null) \r
- throw new System.ArgumentNullException ("adapter");\r
-\r
- object obj = (object) adapter;\r
- if (!DataAdapterType.ToString ().Equals (obj.ToString ()))\r
- throw new System.ArgumentException ("adapter not part of this provider.");\r
- \r
- if (commandBuilderTypeName.Equals (String.Empty))\r
- throw new Exception ("Provider does not have CommandBuilder type defined.");\r
- \r
- object[] parms = new object [] { obj };\r
- object commandBuilderObj = Activator.CreateInstance (CommandBuilderType, parms);\r
- if (commandBuilderObj == null)\r
- throw new Exception (String.Format ("Unable to create instance of command builder class: {0} from assembly: {1}",\r
- commandBuilderTypeName, assemblyName));\r
-\r
- return commandBuilderObj;\r
- }\r
- }\r
-}\r
-\r
+++ /dev/null
-//\r
-// Mono.Data.ProviderCollection\r
-//\r
-// Authors:\r
-// Brian Ritchie (brianlritchie@hotmail.com) \r
-// \r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-// \r
-//\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-namespace Mono.Data \r
-{\r
- using System;\r
- using System.Collections;\r
- using System.Collections.Specialized;\r
- \r
- \r
- /// <summary>\r
- /// <para>\r
- /// A collection that stores <see cref='.Provider'/> objects.\r
- /// </para>\r
- /// </summary>\r
- /// <seealso cref='.ProviderCollection'/>\r
- [Serializable ()]\r
-#if NET_2_0\r
- [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]\r
-#endif\r
- public class ProviderCollection : DictionaryBase \r
- {\r
- \r
- /// <summary>\r
- /// <para>\r
- /// Initializes a new instance of <see cref='.ProviderCollection'/>.\r
- /// </para>\r
- /// </summary>\r
- public ProviderCollection ()\r
-\r
- {\r
- }\r
- \r
- /// <summary>\r
- /// <para>\r
- /// Initializes a new instance of <see cref='.ProviderCollection'/> based on another <see cref='.ProviderCollection'/>.\r
- /// </para>\r
- /// </summary>\r
- /// <param name='value'>\r
- /// A <see cref='.ProviderCollection'/> from which the contents are copied\r
- /// </param>\r
- public ProviderCollection (ProviderCollection value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- this.AddRange (value);\r
- }\r
- \r
- /// <summary>\r
- /// <para>\r
- /// Initializes a new instance of <see cref='.ProviderCollection'/> containing any array of <see cref='.Provider'/> objects.\r
- /// </para>\r
- /// </summary>\r
- /// <param name='value'>\r
- /// A array of <see cref='.Provider'/> objects with which to intialize the collection\r
- /// </param>\r
- public ProviderCollection (Provider[] value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- this.AddRange (value);\r
- }\r
- \r
- /// <summary>\r
- /// <para>Represents the entry at the specified index of the <see cref='.Provider'/>.</para>\r
- /// </summary>\r
- /// <param name='index'><para>The zero-based index of the entry to locate in the collection.</para></param>\r
- /// <value>\r
- /// <para> The entry at the specified index of the collection.</para>\r
- /// </value>\r
- /// <exception cref='System.ArgumentOutOfRangeException'><paramref name='index'/> is outside the valid range of indexes for the collection.</exception>\r
- public Provider this [string Name] \r
- {\r
- get { \r
- return ((Provider)(Dictionary [Name]));\r
- }\r
- set {\r
- Dictionary [Name] = value;\r
- }\r
- }\r
-\r
- public Provider FindByCommandType(Type CommandType)\r
- {\r
- if (CommandType == null) \r
- throw new System.ArgumentNullException ("CommandType");\r
-\r
- foreach (Provider p in this) {\r
- if (p.CommandType == CommandType)\r
- return p;\r
- }\r
- throw new IndexOutOfRangeException ();\r
- }\r
-\r
- public Provider FindByDataAdapterType(Type DataAdapterType)\r
- {\r
- if (DataAdapterType == null) \r
- throw new System.ArgumentNullException ("DataAdapterType");\r
-\r
- foreach (Provider p in this) {\r
- if (p.DataAdapterType == DataAdapterType)\r
- return p;\r
- }\r
- throw new IndexOutOfRangeException ();\r
- }\r
-\r
- public Provider FindByConnectionType(Type ConnectionType)\r
- {\r
- if (ConnectionType == null) \r
- throw new System.ArgumentNullException("ConnectionType");\r
-\r
- foreach (Provider p in this) {\r
- if (p.ConnectionType == ConnectionType)\r
- return p;\r
- }\r
- throw new IndexOutOfRangeException ();\r
- }\r
-\r
- /// <summary>\r
- /// <para>Adds a <see cref='.Provider'/> with the specified value to the \r
- /// <see cref='.ProviderCollection'/> .</para>\r
- /// </summary>\r
- /// <param name='value'>The <see cref='.Provider'/> to add.</param>\r
- /// <returns>\r
- /// <para>The index at which the new element was inserted.</para>\r
- /// </returns>\r
- /// <seealso cref='.ProviderCollection.AddRange'/>\r
- public void Add(Provider value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- Dictionary.Add (value.Name, value);\r
- }\r
- \r
- /// <summary>\r
- /// <para>Copies the elements of an array to the end of the <see cref='.ProviderCollection'/>.</para>\r
- /// </summary>\r
- /// <param name='value'>\r
- /// An array of type <see cref='.Provider'/> containing the objects to add to the collection.\r
- /// </param>\r
- /// <returns>\r
- /// <para>None.</para>\r
- /// </returns>\r
- /// <seealso cref='.ProviderCollection.Add'/>\r
- public void AddRange (Provider[] value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- for (int i = 0; i < value.Length; i++) \r
- this.Add (value [i]);\r
- }\r
- \r
- /// <summary>\r
- /// <para>\r
- /// Adds the contents of another <see cref='.ProviderCollection'/> to the end of the collection.\r
- /// </para>\r
- /// </summary>\r
- /// <param name='value'>\r
- /// A <see cref='.ProviderCollection'/> containing the objects to add to the collection.\r
- /// </param>\r
- /// <returns>\r
- /// <para>None.</para>\r
- /// </returns>\r
- /// <seealso cref='.ProviderCollection.Add'/>\r
- public void AddRange(ProviderCollection value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- foreach (Provider p in value)\r
- this.Add (p);\r
- }\r
- \r
- /// <summary>\r
- /// <para>Gets a value indicating whether the \r
- /// <see cref='.ProviderCollection'/> contains the specified <see cref='.Provider'/>.</para>\r
- /// </summary>\r
- /// <param name='value'>The <see cref='.Provider'/> to locate.</param>\r
- /// <returns>\r
- /// <para><see langword='true'/> if the <see cref='.Provider'/> is contained in the collection; \r
- /// otherwise, <see langword='false'/>.</para>\r
- /// </returns>\r
- /// <seealso cref='.ProviderCollection.IndexOf'/>\r
- public bool Contains (Provider value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException("value");\r
-\r
- return Dictionary.Contains (value);\r
- }\r
- \r
- /// <summary>\r
- /// <para>Copies the <see cref='.ProviderCollection'/> values to a one-dimensional <see cref='System.Array'/> instance at the \r
- /// specified index.</para>\r
- /// </summary>\r
- /// <param name='array'><para>The one-dimensional <see cref='System.Array'/> that is the destination of the values copied from <see cref='.ProviderCollection'/> .</para></param>\r
- /// <param name='index'>The index in <paramref name='array'/> where copying begins.</param>\r
- /// <returns>\r
- /// <para>None.</para>\r
- /// </returns>\r
- /// <exception cref='System.ArgumentException'><para><paramref name='array'/> is multidimensional.</para> <para>-or-</para> <para>The number of elements in the <see cref='.ProviderCollection'/> is greater than the available space between <paramref name='arrayIndex'/> and the end of <paramref name='array'/>.</para></exception>\r
- /// <exception cref='System.ArgumentNullException'><paramref name='array'/> is <see langword='null'/>. </exception>\r
- /// <exception cref='System.ArgumentOutOfRangeException'><paramref name='arrayIndex'/> is less than <paramref name='array'/>'s lowbound. </exception>\r
- /// <seealso cref='System.Array'/>\r
- public void CopyTo(Provider[] array, int index) \r
- {\r
- if (array == null) \r
- throw new System.ArgumentNullException ("array");\r
-\r
- Dictionary.CopyTo(array, index);\r
- }\r
- \r
- /// <summary>\r
- /// <para>Returns an enumerator that can iterate through \r
- /// the <see cref='.ProviderCollection'/> .</para>\r
- /// </summary>\r
- /// <returns><para>None.</para></returns>\r
- /// <seealso cref='System.Collections.IEnumerator'/>\r
- public new ProviderEnumerator GetEnumerator () \r
- {\r
- return new ProviderEnumerator (this);\r
- }\r
- \r
- /// <summary>\r
- /// <para> Removes a specific <see cref='.Provider'/> from the \r
- /// <see cref='.ProviderCollection'/> .</para>\r
- /// </summary>\r
- /// <param name='value'>The <see cref='.Provider'/> to remove from the <see cref='.ProviderCollection'/> .</param>\r
- /// <returns><para>None.</para></returns>\r
- /// <exception cref='System.ArgumentException'><paramref name='value'/> is not found in the Collection. </exception>\r
- public void Remove(Provider value) \r
- {\r
- if (value == null) \r
- throw new System.ArgumentNullException ("value");\r
-\r
- Dictionary.Remove(value);\r
- }\r
- \r
- public class ProviderEnumerator : object, IEnumerator \r
- {\r
- \r
- private IEnumerator baseEnumerator;\r
- \r
- private IEnumerable temp;\r
- \r
- public ProviderEnumerator(ProviderCollection mappings) \r
- {\r
- if (mappings == null) \r
- throw new System.ArgumentNullException ("mappings");\r
-\r
- this.temp = ((IEnumerable)(mappings));\r
- this.baseEnumerator = temp.GetEnumerator();\r
- }\r
- \r
- public Provider Current \r
- {\r
- get \r
- {\r
- return ((Provider) ((DictionaryEntry) (baseEnumerator.Current)).Value);\r
- }\r
- }\r
- \r
- object IEnumerator.Current \r
- {\r
- get \r
- {\r
- return baseEnumerator.Current;\r
- }\r
- }\r
- \r
- public bool MoveNext() \r
- {\r
- return baseEnumerator.MoveNext();\r
- }\r
- \r
- bool IEnumerator.MoveNext() \r
- {\r
- return baseEnumerator.MoveNext();\r
- }\r
- \r
- public void Reset() \r
- {\r
- baseEnumerator.Reset();\r
- }\r
- \r
- void IEnumerator.Reset() \r
- {\r
- baseEnumerator.Reset();\r
- }\r
- }\r
- }\r
-}\r
+++ /dev/null
-//\r
-// Mono.Data.ProviderFactory\r
-//\r
-// Authors:\r
-// Brian Ritchie (brianlritchie@hotmail.com) \r
-// \r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-// \r
-//\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-using System;\r
-using System.Data;\r
-using System.Reflection;\r
-using System.Runtime.Remoting;\r
-using System.Configuration;\r
-using System.Xml;\r
-using System.Collections.Specialized;\r
-\r
-namespace Mono.Data\r
-{\r
-#if NET_2_0\r
- [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]\r
-#endif\r
- public class ProviderFactory\r
- {\r
- private static ProviderCollection providers;\r
-\r
- static ProviderFactory ()\r
- {\r
- providers = (ProviderCollection) ConfigurationSettings.GetConfig ("mono.data/providers");\r
- if (providers == null) {\r
- providers = new ProviderCollection ();\r
- // warn the developer or administrator that the provider list is empty\r
- System.Diagnostics.Debug.Listeners.Add (new System.Diagnostics.TextWriterTraceListener (Console.Out));\r
- System.Diagnostics.Debug.WriteLine ("No providers found. Did you set up a mono.data/providers area in your app.config or in machine.config?");\r
- }\r
-\r
- }\r
-\r
- static public ProviderCollection Providers\r
- {\r
- get {\r
- return providers;\r
- }\r
- }\r
-\r
- static public IDbConnection CreateConnectionFromConfig (string Setting)\r
- {\r
- if (Setting == null) \r
- throw new System.ArgumentNullException ("Setting");\r
-\r
- return CreateConnection (ConfigurationSettings.AppSettings [Setting]);\r
- }\r
-\r
- static public IDbConnection CreateConnection(string ConnectionString)\r
- {\r
- if (ConnectionString == null) \r
- throw new System.ArgumentNullException ("ConnectionString");\r
-\r
- string [] ConnectionAttributes = ConnectionString.Split (new Char [1] { ';' }); \r
- string ProviderName = null;\r
- string NewConnectionString = "";\r
- foreach (string s in ConnectionAttributes) {\r
- string [] AttributeParts = s.Split (new Char [1] { '=' });\r
- if (AttributeParts [0].ToLower ().Trim () == "factory")\r
- ProviderName = AttributeParts [1].Trim ();\r
- else \r
- NewConnectionString += ";" + s;\r
- }\r
- NewConnectionString = NewConnectionString.Remove (0, 1); // remove the initial semicolon\r
- if (ProviderName == null) \r
- throw new System.ArgumentException ("The connection string must contain a 'factory=Provider.Class' token", "ConnectionString");\r
- return CreateConnection (ProviderName, NewConnectionString);\r
- }\r
-\r
- static public IDbConnection CreateConnection(string ProviderName, string ConnectionString)\r
- {\r
- if (ProviderName == null) \r
- throw new System.ArgumentNullException("ProviderName");\r
- if (ConnectionString == null) \r
- throw new System.ArgumentNullException ("ConnectionString");\r
-\r
- Provider provider = providers [ProviderName];\r
-\r
- if (provider == null)\r
- throw new ArgumentException ("ProviderName", "The specified provider does not exist");\r
- \r
- IDbConnection conn = provider.CreateConnection ();\r
- conn.ConnectionString = ConnectionString;\r
- return conn;\r
- }\r
-\r
- static public IDbCommand CreateStoredProc (IDbConnection Conn, string CommandName)\r
- {\r
- if (Conn == null) \r
- throw new System.ArgumentNullException ("Conn");\r
- if (CommandName == null) \r
- throw new System.ArgumentNullException ("CommandName");\r
-\r
- IDbCommand cmd = Conn.CreateCommand ();\r
- cmd.CommandText = CommandName;\r
- cmd.CommandType = CommandType.StoredProcedure;\r
- return cmd;\r
- }\r
-\r
- static public IDbDataAdapter CreateDataAdapter (IDbCommand SelectCommand)\r
- {\r
- if (SelectCommand == null) \r
- throw new System.ArgumentNullException("SelectCommand");\r
-\r
- Provider provider = providers.FindByCommandType (SelectCommand.GetType ());\r
- IDbDataAdapter adapter = provider.CreateDataAdapter ();\r
- adapter.SelectCommand = SelectCommand;\r
- return adapter;\r
- }\r
-\r
- static public IDbDataAdapter CreateDataAdapter (string ProviderName)\r
- {\r
- if (ProviderName == null) \r
- throw new System.ArgumentNullException("ProviderName");\r
-\r
- Provider provider = providers [ProviderName];\r
- IDbDataAdapter adapter = provider.CreateDataAdapter ();\r
- return adapter;\r
- }\r
-\r
- static public IDbDataAdapter CreateDataAdapter (IDbConnection Conn, string SelectCommand)\r
- {\r
- if (Conn == null) \r
- throw new System.ArgumentNullException ("Conn");\r
- if (SelectCommand == null) \r
- throw new System.ArgumentNullException("SelectCommand");\r
-\r
- IDbCommand cmd = Conn.CreateCommand ();\r
- cmd.CommandText = SelectCommand;\r
- return CreateDataAdapter (cmd);\r
- }\r
-\r
- static public IDbCommand CreateCommand (string ProviderName)\r
- {\r
- if (ProviderName == null) \r
- throw new System.ArgumentNullException("ProviderName");\r
-\r
- Provider provider = providers [ProviderName];\r
- return provider.CreateCommand ();\r
- }\r
-\r
- static public IDbCommand CreateCommand (IDbConnection Conn)\r
- {\r
- if (Conn == null) \r
- throw new System.ArgumentNullException("Conn");\r
-\r
- return Conn.CreateCommand ();\r
- }\r
-\r
- }\r
-}\r
+++ /dev/null
-//
-// Mono.Data.ProviderSectionHandler
-//
-// Authors:
-// Brian Ritchie (brianlritchie@hotmail.com)
-//
-//
-// Copyright (C) Brian Ritchie, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Xml;
-using System.Configuration;
-
-namespace Mono.Data
-{
-#if NET_2_0
- [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]
-#endif
- public class ProviderSectionHandler : IConfigurationSectionHandler
- {
- public virtual object Create (object parent, object configContext, XmlNode section)
- {
- if (section == null)
- throw new System.ArgumentNullException ("section");
-
- ProviderCollection providers = new ProviderCollection ();
-
- XmlNodeList ProviderList = section.SelectNodes ("./provider");
-
- foreach (XmlNode ProviderNode in ProviderList) {
- Provider provider = new Provider(
- GetStringValue (ProviderNode, "name", true),
- GetStringValue (ProviderNode, "connection", true),
- GetStringValue (ProviderNode, "adapter", true),
- GetStringValue (ProviderNode, "command", true),
- GetStringValue (ProviderNode, "assembly", true),
- GetStringValue (ProviderNode, "description", false),
- GetStringValue (ProviderNode, "parameterprefix", false),
- GetStringValue (ProviderNode, "commandbuilder", false));
- providers.Add (provider);
- }
- return providers;
- }
-
- private string GetStringValue(XmlNode _node, string _attribute, bool required)
- {
- XmlNode a = _node.Attributes.RemoveNamedItem(_attribute);
- if (a == null) {
- if (required)
- throw new ConfigurationException("Attribute required: " + _attribute);
- else
- return null;
- }
- return a.Value;
- }
- }
-}
-
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" ?>\r
-<configuration>\r
- <configSections>\r
- <sectionGroup name="mono.data">\r
- <section name="providers" type="Mono.Data.ProviderSectionHandler,Mono.Data" />\r
- </sectionGroup>\r
- </configSections>\r
- <appSettings>\r
- <add key="PubsConnStr" value="factory=System.Data.SqlClient;server=localhost;database=pubs;uid=sa;pwd=mypassword" />\r
- <add key="OraConnStr" value="factory=System.Data.OracleClient;data source=testdb;user id=scott;password=tiger" />\r
- <add key="PgConnStr" value="factory=Npgsql;Server=localhost;Database=monotest;User ID=monotest;Password=monotest" />\r
- <add key="MySqlByteFXConnStr" value="factory=ByteFX.Data.MySqlClient;Database=test" />\r
- <add key="FireConnStr" value="factory=FirebirdSql.Data.Firebird;Database=C:\FIREBIRD\EXAMPLES\EMPLOYEE.FDB;User=SYSDBA;Password=masterkey;Dialect=3;Server=localhost" />\r
- <add key="Sqlite2ConnStr" value="factory=Mono.Data.SqliteClient;URI=file:sqlitetest2.db" />\r
- <add key="Sqlite3ConnStr" value="factory=Mono.Data.SqliteClient;URI=file:sqlitetest3.db,Version=3" />\r
- <add key="SybaseConnStr" value="factory=Mono.Data.SybaseClient;Server=MYSERVER,5000;Database=testdb;User ID=sa;Password=;" />\r
- <add key="MySqlConnStr" value="factory=MySql.Data;server=localhost;user id=user;password=pass;database=mysql;pooling=false" /> \r
- </appSettings>\r
- <mono.data>\r
- <providers>\r
- <provider \r
- name="System.Data.SqlClient" \r
- connection="System.Data.SqlClient.SqlConnection" \r
- adapter="System.Data.SqlClient.SqlDataAdapter" \r
- command="System.Data.SqlClient.SqlCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="Microsoft SQL Server 7.0/2000/2005"\r
- parameterprefix="at"\r
- commandbuilder="System.Data.SqlClient.SqlCommandBuilder" />\r
- <provider \r
- name="System.Data.OleDb" \r
- connection="System.Data.OleDb.OleDbConnection" \r
- adapter="System.Data.OleDb.OleDbDataAdapter" \r
- command="System.Data.OleDb.OleDbCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="OLE DB" />\r
- <provider \r
- name="System.Data.Odbc" \r
- connection="System.Data.Odbc.OdbcConnection" \r
- adapter="System.Data.Odbc.OdbcDataAdapter" \r
- command="System.Data.Odbc.OdbcCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="ODBC"\r
- parameterprefix="questionmark"\r
- commandbuilder="System.Data.Odbc.OdbcCommandBuilder" />\r
- <provider \r
- name="System.Data.OracleClient" \r
- connection="System.Data.OracleClient.OracleConnection" \r
- adapter="System.Data.OracleClient.OracleDataAdapter" \r
- command="System.Data.OracleClient.OracleCommand" \r
- assembly="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" \r
- description="Oracle"\r
- parameterprefix="colon"\r
- commandbuilder="System.Data.OracleClient.OracleCommandBuilder" />\r
- <provider \r
- name="ByteFX.Data.MySqlClient" \r
- connection="ByteFX.Data.MySqlClient.MySqlConnection" \r
- adapter="ByteFX.Data.MySqlClient.MySqlDataAdapter" \r
- command="ByteFX.Data.MySqlClient.MySqlCommand"\r
- assembly="ByteFX.Data, Version=0.7.6.1, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="MySQL (ByteFX)" />\r
- <provider \r
- name="Npgsql" \r
- connection="Npgsql.NpgsqlConnection" \r
- adapter="Npgsql.NpgsqlDataAdapter" \r
- command="Npgsql.NpgsqlCommand" \r
- assembly="Npgsql, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"\r
- description="PostgreSQL"\r
- parameterprefix="at"\r
- commandbuilder="Npgsql.NpgsqlCommandBuilder" />\r
- <provider \r
- name="Mono.Data.SqliteClient" \r
- connection="Mono.Data.SqliteClient.SqliteConnection" \r
- adapter="Mono.Data.SqliteClient.SqliteDataAdapter" \r
- command="Mono.Data.SqliteClient.SqliteCommand" \r
- assembly="Mono.Data.SqliteClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="SQL Lite"\r
- parameterprefix="colon" />\r
- <provider \r
- name="Mono.Data.SybaseClient" \r
- connection="Mono.Data.SybaseClient.SybaseConnection" \r
- adapter="Mono.Data.SybaseClient.SybaseDataAdapter" \r
- command="Mono.Data.SybaseClient.SybaseCommand" \r
- assembly="Mono.Data.SybaseClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="Sybase"\r
- parameterprefix="at" />\r
- <provider \r
- name="FirebirdSql.Data.Firebird" \r
- connection="FirebirdSql.Data.Firebird.FbConnection" \r
- adapter="FirebirdSql.Data.Firebird.FbDataAdapter" \r
- command="FirebirdSql.Data.Firebird.FbCommand" \r
- assembly="FirebirdSql.Data.Firebird, Version=1.6.3.0, Culture=neutral, PublicKeyToken=e1b4f92304d7b12f"\r
- description="Firebird"\r
- parameterprefix="at"\r
- commandbuilder="FirebirdSql.Data.Firebird.FbCommandBuilder" />\r
- <provider \r
- name="IBM.Data.DB2" \r
- connection="IBM.Data.DB2.DB2Connection" \r
- adapter="IBM.Data.DB2.DB2DataAdapter" \r
- command="IBM.Data.DB2.DB2Command" \r
- assembly="IBM.Data.DB2, Version=1.0.1728.9997, Culture=neutral, PublicKeyToken=7c307b91aa13d208"\r
- description="IBM DB2 Universal Database" />\r
- <provider \r
- name="MySql.Data" \r
- connection="MySql.Data.MySqlClient.MySqlConnection" \r
- adapter="MySql.Data.MySqlClient.MySqlDataAdapter" \r
- command="MySql.Data.MySqlClient.MySqlCommand"\r
- assembly="MySql.Data, Version=1.0.7.30073, Culture=neutral, PublicKeyToken=8e323390df8d9ed4"\r
- description="MySQL (MySQL AB)"\r
- parameterprefix="at"\r
- commandbuilder="MySql.Data.MySqlClient.MySqlCommandBuilder" />\r
- </providers>\r
- </mono.data>\r
-</configuration>\r
+++ /dev/null
-using System;\r
-using System.Data;\r
-using System.Data.SqlClient;\r
-using Mono.Data;\r
-\r
-namespace testclient\r
-{\r
- /// <summary>\r
- /// Summary description for Class1.\r
- /// </summary>\r
- class Class1\r
- {\r
-\r
- public static void TestProviderFactory()\r
- {\r
- Console.WriteLine("Configured Providers:"); \r
- foreach (Provider p in ProviderFactory.Providers)\r
- Console.WriteLine(p.Description);\r
- Console.WriteLine();\r
- Console.WriteLine("Connection Factory Test:"); \r
- Console.WriteLine("Get Connection using PubsConnStr in app.config");\r
- IDbConnection conn=ProviderFactory.CreateConnectionFromConfig("PubsConnStr");\r
- Console.WriteLine("Open Connection"); \r
- conn.Open();\r
- IDbCommand cmd=conn.CreateCommand();\r
- cmd.CommandText="select * from authors";\r
- IDataReader reader=cmd.ExecuteReader(); \r
- reader.Read();\r
- Console.WriteLine(reader[0].ToString());\r
- Console.ReadLine();\r
- }\r
-\r
- /// <summary>\r
- /// The main entry point for the application.\r
- /// </summary>\r
- [STAThread]\r
- static void Main(string[] args)\r
- {\r
- TestProviderFactory();\r
-\r
- }\r
- }\r
-}\r
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" ?>\r
-<configuration>\r
- <configSections>\r
- <sectionGroup name="mono.data">\r
- <section name="providers" type="Mono.Data.ProviderSectionHandler,Mono.Data" />\r
- </sectionGroup>\r
- </configSections>\r
- <appSettings>\r
- <add key="PubsConnStr" value="factory=System.Data.SqlClient;server=localhost;database=pubs;uid=sa;pwd=mypassword" />\r
- <add key="OraConnStr" value="factory=System.Data.OracleClient;data source=testdb;user id=scott;password=tiger" />\r
- <add key="PgConnStr" value="factory=Npgsql;Server=localhost;Database=monotest;User ID=monotest;Password=monotest" />\r
- <add key="MySqlByteFXConnStr" value="factory=ByteFX.Data.MySqlClient;Database=test" />\r
- <add key="FireConnStr" value="factory=FirebirdSql.Data.Firebird;Database=C:\FIREBIRD\EXAMPLES\EMPLOYEE.FDB;User=SYSDBA;Password=masterkey;Dialect=3;Server=localhost" />\r
- <add key="Sqlite2ConnStr" value="factory=Mono.Data.SqliteClient;URI=file:sqlitetest2.db" />\r
- <add key="Sqlite3ConnStr" value="factory=Mono.Data.SqliteClient;URI=file:sqlitetest3.db,Version=3" />\r
- <add key="SybaseConnStr" value="factory=Mono.Data.SybaseClient;Server=MYSERVER,5000;Database=testdb;User ID=sa;Password=;" />\r
- <add key="MySqlConnStr" value="factory=MySql.Data;server=localhost;user id=user;password=pass;database=mysql;pooling=false" /> \r
- </appSettings>\r
- <mono.data>\r
- <providers>\r
- <provider \r
- name="System.Data.SqlClient" \r
- connection="System.Data.SqlClient.SqlConnection" \r
- adapter="System.Data.SqlClient.SqlDataAdapter" \r
- command="System.Data.SqlClient.SqlCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="Microsoft SQL Server 7.0/2000/2005" />\r
- <provider \r
- name="System.Data.OleDb" \r
- connection="System.Data.OleDb.OleDbConnection" \r
- adapter="System.Data.OleDb.OleDbDataAdapter" \r
- command="System.Data.OleDb.OleDbCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="OLE DB" />\r
- <provider \r
- name="System.Data.Odbc" \r
- connection="System.Data.Odbc.OdbcConnection" \r
- adapter="System.Data.Odbc.OdbcDataAdapter" \r
- command="System.Data.Odbc.OdbcCommand" \r
- assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="ODBC" />\r
- <provider \r
- name="System.Data.OracleClient" \r
- connection="System.Data.OracleClient.OracleConnection" \r
- adapter="System.Data.OracleClient.OracleDataAdapter" \r
- command="System.Data.OracleClient.OracleCommand" \r
- assembly="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"\r
- description="Oracle" />\r
- <provider \r
- name="ByteFX.Data.MySqlClient" \r
- connection="ByteFX.Data.MySqlClient.MySqlConnection" \r
- adapter="ByteFX.Data.MySqlClient.MySqlDataAdapter" \r
- command="ByteFX.Data.MySqlClient.MySqlCommand"\r
- assembly="ByteFX.Data, Version=0.7.6.1, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="MySQL (ByteFX)" />\r
- <provider \r
- name="Npgsql" \r
- connection="Npgsql.NpgsqlConnection" \r
- adapter="Npgsql.NpgsqlDataAdapter" \r
- command="Npgsql.NpgsqlCommand" \r
- assembly="Npgsql, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"\r
- description="PostgreSQL" />\r
- <provider \r
- name="Mono.Data.SqliteClient" \r
- connection="Mono.Data.SqliteClient.SqliteConnection" \r
- adapter="Mono.Data.SqliteClient.SqliteDataAdapter" \r
- command="Mono.Data.SqliteClient.SqliteCommand" \r
- assembly="Mono.Data.SqliteClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="SQL Lite" />\r
- <provider \r
- name="Mono.Data.SybaseClient" \r
- connection="Mono.Data.SybaseClient.SybaseConnection" \r
- adapter="Mono.Data.SybaseClient.SybaseDataAdapter" \r
- command="Mono.Data.SybaseClient.SybaseCommand" \r
- assembly="Mono.Data.SybaseClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"\r
- description="Sybase" />\r
- <provider \r
- name="FirebirdSql.Data.Firebird" \r
- connection="FirebirdSql.Data.Firebird.FbConnection" \r
- adapter="FirebirdSql.Data.Firebird.FbDataAdapter" \r
- command="FirebirdSql.Data.Firebird.FbCommand" \r
- assembly="FirebirdSql.Data.Firebird, Version=1.6.3.0, Culture=neutral, PublicKeyToken=e1b4f92304d7b12f"\r
- description="Firebird" />\r
- <provider \r
- name="IBM.Data.DB2" \r
- connection="IBM.Data.DB2.DB2Connection" \r
- adapter="IBM.Data.DB2.DB2DataAdapter" \r
- command="IBM.Data.DB2.DB2Command" \r
- assembly="IBM.Data.DB2, Version=1.0.1728.9997, Culture=neutral, PublicKeyToken=7c307b91aa13d208"\r
- description="IBM DB2 Universal Database" />\r
- <provider \r
- name="MySql.Data" \r
- connection="MySql.Data.MySqlClient.MySqlConnection" \r
- adapter="MySql.Data.MySqlClient.MySqlDataAdapter" \r
- command="MySql.Data.MySqlClient.MySqlCommand"\r
- assembly="MySql.Data, Version=1.0.7.30073, Culture=neutral, PublicKeyToken=8e323390df8d9ed4"\r
- description="MySQL (MySQL AB)" /> \r
- </providers>\r
- </mono.data>\r
-</configuration>\r