public string BuildConnectionString(DatabaseEndpoint endpoint, AuthenticationMode authMode, string sqlLogin = null, string sqlPassword = null)
        {
            var connectionStringBuilder = new SqlConnectionStringBuilder
            {
                DataSource      = endpoint.ServerName,
                ApplicationName = "Galen.Ci.EntityFramework"
            };

            if (authMode == AuthenticationMode.Integrated)
            {
                connectionStringBuilder.IntegratedSecurity = true;
            }
            else
            {
                connectionStringBuilder.UserID   = sqlLogin;
                connectionStringBuilder.Password = sqlPassword;
            }

            if (!string.IsNullOrEmpty(endpoint.DatabaseName))
            {
                connectionStringBuilder.InitialCatalog = endpoint.DatabaseName;
            }

            return(connectionStringBuilder.ConnectionString);
        }
        public string BuildConnectionString(DatabaseEndpoint endpoint, AuthenticationMode authMode, string sqlLogin = null, string sqlPassword = null)
        {
            var connectionStringBuilder = new SqlConnectionStringBuilder
            {
                DataSource = endpoint.ServerName,
                ApplicationName = "Galen.Ci.EntityFramework"
            };

            if (authMode == AuthenticationMode.Integrated)
            {
                connectionStringBuilder.IntegratedSecurity = true;
            }
            else
            {
                connectionStringBuilder.UserID = sqlLogin;
                connectionStringBuilder.Password = sqlPassword;
            }

            if (!string.IsNullOrEmpty(endpoint.DatabaseName))
            {
                connectionStringBuilder.InitialCatalog = endpoint.DatabaseName;
            }

            return connectionStringBuilder.ConnectionString;
        }
Exemplo n.º 3
0
        private bool GetIsTargetDatabaseExists()
        {
            const string sql = "SELECT 1 FROM sys.databases WHERE name = @DatabaseName";

            var factory = DbProviderFactories.GetFactory(m_ConnectionInfoBuilder.ProviderName);

            using (var connection = factory.CreateConnection())
            {
                var masterDatabase = new DatabaseEndpoint
                {
                    DatabaseName = "master",
                    ServerName   = m_Config.Database.ServerName
                };

                connection.ConnectionString = m_ConnectionInfoBuilder.BuildConnectionString(
                    masterDatabase,
                    m_Config.AuthMode,
                    m_Config.SqlLogin,
                    m_Config.SqlPassword);


                using (var command = connection.CreateCommand())
                {
                    command.CommandText = sql;

                    var databaseNameParam = command.CreateParameter();
                    databaseNameParam.DbType        = DbType.String;
                    databaseNameParam.Direction     = ParameterDirection.Input;
                    databaseNameParam.ParameterName = "@DatabaseName";
                    databaseNameParam.Value         = m_Config.Database.DatabaseName;
                    command.Parameters.Add(databaseNameParam);

                    connection.Open();

                    var result = (int?)command.ExecuteScalar();
                    connection.Close();

                    return(result == 1);
                };
            }
        }
 public DbConnectionInfo Build(DatabaseEndpoint endpoint, AuthenticationMode authMode, string sqlLogin = null, string sqlPassword = null)
 {
     return(new DbConnectionInfo(BuildConnectionString(endpoint, authMode, sqlLogin, sqlPassword), ProviderName));
 }
 public DbConnectionInfo Build(DatabaseEndpoint endpoint, AuthenticationMode authMode, string sqlLogin = null, string sqlPassword = null)
 {
     return new DbConnectionInfo(BuildConnectionString(endpoint, authMode, sqlLogin, sqlPassword), ProviderName);
 }
        private bool GetIsTargetDatabaseExists()
        {
            
            const string sql = "SELECT 1 FROM sys.databases WHERE name = @DatabaseName";

            var factory = DbProviderFactories.GetFactory(m_ConnectionInfoBuilder.ProviderName);
            using (var connection = factory.CreateConnection())
            {
                var masterDatabase = new DatabaseEndpoint
                {
                    DatabaseName = "master",
                    ServerName = m_Config.Database.ServerName
                };

                connection.ConnectionString = m_ConnectionInfoBuilder.BuildConnectionString(
                    masterDatabase,
                    m_Config.AuthMode,
                    m_Config.SqlLogin,
                    m_Config.SqlPassword);


                using (var command = connection.CreateCommand())
                {
                    command.CommandText = sql;

                    var databaseNameParam = command.CreateParameter();
                    databaseNameParam.DbType = DbType.String;
                    databaseNameParam.Direction = ParameterDirection.Input;
                    databaseNameParam.ParameterName = "@DatabaseName";
                    databaseNameParam.Value = m_Config.Database.DatabaseName;
                    command.Parameters.Add(databaseNameParam);

                    connection.Open();

                    var result = (int?)command.ExecuteScalar();
                    connection.Close();

                    return (result == 1);
                };
            }
        }