Exemplo n.º 1
0
        internal static void ThrowWhenSchemaAlreadyHasBeenInitialized(SqlLoggingProvider provider)
        {
            using (SqlConnection connection = new SqlConnection(provider.ConnectionString))
            {
                connection.Open();

                const string Query = @"
                    SELECT  CONVERT(int, count(*))
                    FROM    sysobjects
                    WHERE   name IN (
                                'logging_EventTypes', 
                                'logging_Events', 
                                'logging_Exceptions', 
                                'logging_AddEvent', 
                                'logging_AddException'
                            );";

                using (SqlCommand command = new SqlCommand(Query, connection))
                {
                    int sysObjectCount = (int)command.ExecuteScalar();

                    if (sysObjectCount > 0)
                    {
                        throw new ProviderException(SR.SqlProviderAlreadyInitialized(provider.Name));
                    }
                }
            }
        }
Exemplo n.º 2
0
        internal static void CreateTablesAndStoredProcedures(SqlLoggingProvider provider,
                                                             string[] createScripts)
        {
            using (var connection = new SqlConnection(provider.ConnectionString))
            {
                connection.Open();

                using (var transaction = connection.BeginTransaction())
                {
                    foreach (string script in createScripts)
                    {
                        using (var command = new SqlCommand(script, connection, transaction))
                        {
                            command.ExecuteNonQuery();
                        }
                    }

                    transaction.Commit();
                }
            }
        }