Pergunta

Estou construindo uma página da web para mostrar a um cliente qual software ele comprou e fornecer um link para baixar o software.Infelizmente, os dados sobre o que foi comprado e as informações de download estão em bancos de dados separados, então não posso simplesmente cuidar disso com junções em uma consulta SQL.

O item comum é SKU.Extrairei uma lista de SKUs do banco de dados de compras do cliente e na tabela de download há uma lista delineada por vírgulas de SKUs associados a esse download.Minha intenção, no momento, é criar a partir desta tabela de dados para preencher um GridView.

Qualquer sugestão sobre como fazer isso de forma eficiente seria apreciada.Se ajudar, posso facilmente recuperar os dados como um DataSet ou um DataReader, se qualquer um deles for melhor para esse propósito.

Nenhuma solução correta

Outras dicas

Contanto que os dois bancos de dados estejam no mesmo servidor físico (assumindo MSSQL) e o nome de usuário/senha usado na cadeia de conexão tenha direitos para ambos os bancos de dados, você poderá realizar uma junção nos dois bancos de dados.Exemplo:

select p.Date,
       p.Amount,
       d.SoftwareName,
       d.DownloadLink
from   PurchaseDB.dbo.Purchases as p
join   ProductDB.dbo.Products as d on d.sku = p.sku
where  p.UserID = 12345

Por que não criar uma abordagem baseada em objeto de domínio para este problema:

public class CustomerDownloadInfo
{
    private string sku;
    private readonly ICustomer customer;

    public CustomerDownloadInfo(ICustomer Customer){
        customer = Customer;
    }

    public void AttachSku(string Sku){
        sku = Sku;
    }

    public string Sku{
        get { return sku; }
    }

    public string Link{
        get{    
            // etc... etc...          
        }
    }
}

Há um milhão de variações sobre isso, mas depois de agregar essas informações, não seria mais fácil apresentá-las?

Estou pensando em cima da minha cabeça aqui.Se você carregar ambos como tabelas de dados nos mesmos conjuntos de dados e definir uma relação entre os dois sobre SKU e, em seguida, executar uma consulta no conjunto de dados que produz o resultado desejado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top