1 //------------------------------------------------------------------------------
2 // <copyright file="SqlClientFactory.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">[....]</owner>
6 // <owner current="true" primary="false">[....]</owner>
7 //------------------------------------------------------------------------------
11 using System.Data.Common;
12 using System.Data.Sql;
13 using System.Security;
14 using System.Security.Permissions;
16 namespace System.Data.SqlClient {
18 public sealed class SqlClientFactory : DbProviderFactory, IServiceProvider {
20 public static readonly SqlClientFactory Instance = new SqlClientFactory();
22 private SqlClientFactory() {
25 public override bool CanCreateDataSourceEnumerator {
31 public override DbCommand CreateCommand() {
32 return new SqlCommand();
35 public override DbCommandBuilder CreateCommandBuilder() {
36 return new SqlCommandBuilder();
39 public override DbConnection CreateConnection() {
40 return new SqlConnection();
43 public override DbConnectionStringBuilder CreateConnectionStringBuilder() {
44 return new SqlConnectionStringBuilder();
47 public override DbDataAdapter CreateDataAdapter() {
48 return new SqlDataAdapter();
51 public override DbParameter CreateParameter() {
52 return new SqlParameter();
55 public override CodeAccessPermission CreatePermission(PermissionState state) {
56 return new SqlClientPermission(state);
59 public override DbDataSourceEnumerator CreateDataSourceEnumerator() {
60 return SqlDataSourceEnumerator.Instance;
64 /// Extension mechanism for additional services; currently the only service
65 /// supported is the DbProviderServices
67 /// <returns>requested service provider or null.</returns>
68 object IServiceProvider.GetService(Type serviceType) {
70 if (serviceType == GreenMethods.SystemDataCommonDbProviderServices_Type) {
71 result = GreenMethods.SystemDataSqlClientSqlProviderServices_Instance();