using System;
using System.Data;
using System.Data.Common;
-using System.Data.ProviderBase;
+using System.Security;
+using System.Security.Permissions;
#endregion // Using Directives
namespace System.Data.Odbc
{
#region Fields
public static readonly OdbcFactory Instance;
- static readonly object lockobj = new object ();
+ static readonly object lockStatic = new object ();
#endregion //Fields
#region Constructors
/// </remarks>
static OdbcFactory()
{
- if (Instance == null)
- Instance = new OdbcFactory ();
+ lock (lockStatic)
+ {
+ if (Instance == null)
+ Instance = new OdbcFactory ();
+ }
}
private OdbcFactory()
#endregion //Constructors
- #region Properties
- public DbProviderSupportedClasses SupportedClasses {
- get {
- return (DbProviderSupportedClasses) (
- DbProviderSupportedClasses.DbConnection |
- DbProviderSupportedClasses.DbCommand |
- DbProviderSupportedClasses.DbParameter |
- //DbProviderSupportedClasses.DbConnectionStringBuilder |
- DbProviderSupportedClasses.DbCommandBuilder |
- DbProviderSupportedClasses.DbDataAdapter //|
- //DbProviderSupportedClasses.DbDataSourceEnumerator |
- //DbProviderSupportedClasses.CodeAccessPermission
- );
- }
- }
-
- [MonoTODO]
- public override bool CanCreateDataSourceEnumerator {
- get { throw new NotImplementedException ();}
- }
-
- #endregion //Properties
-
#region Methods
public override DbConnection CreateConnection()
{
- OdbcConnectionFactory connFactory = OdbcConnectionFactory.GetSingleton (this);
- return new OdbcConnection (connFactory);
+ return new OdbcConnection () as DbConnection;
}
public override DbCommand CreateCommand()
{
- return new OdbcCommand () as DbCommand;
+ return new OdbcCommand () as DbCommand;
}
public override DbCommandBuilder CreateCommandBuilder()
}
-// public override DbConnectionStringBuilder CreateConnectionStringBuilder()
-// {
-// throw new NotImplementedException ();
-// }
+ public override DbConnectionStringBuilder CreateConnectionStringBuilder ()
+ {
+ return new OdbcConnectionStringBuilder () as DbConnectionStringBuilder;
+ }
public override DbDataAdapter CreateDataAdapter()
{
return new OdbcParameter () as DbParameter;
}
-// public override CodeAccessPermission CreatePermission(PermissionState state)
-// {
-// throw new NotImplementedException ();
-// }
-
- #endregion //Methods
+ public override CodeAccessPermission CreatePermission (PermissionState state)
+ {
+ return new OdbcPermission (state);
+ }
+ #endregion //Methods
}
-
-
}
#endif // NET_2_0