Distribuição de aplicações do Borland DataBase Provider


Neste artigo, eu explicarei e demonstrarei as etapas necessárias para a distribuição bem sucedida de uma aplicação no Delphi 2005 usando o Borland DataBase Provider (BDP).

As técnicas neste artigo aplicam-se a WinForms assim como as aplicações dos formulários ASP.NET que usam o BDP da Borland. Eu usarei uma aplicação ASP.NET como o exemplo principal.

Vamos criar um exemplo
Inicie um novo projeto em: New|Windows Forms Application - Delphi for .Net. Especifique o nome do projeto, como DelphiClinics:

  examn66a.gif

Clique em OK para  criar um novo ASP.NET Web Forms project.

  no menu View, opção Data Explorer  e abra o MSSQL +  Providers treeview. . Para este exemplo, eu estou usando a base de dados de Northwind, para que eu tenho uma conexão existente definida com um usuário e uma senha nomeados ao início de uma sessão à base de dados (nenhum authentication do OS de Windows - )Nós usaremos esta primeira página para exibir um DataGrid com informação da vista geral da tabela dos empregados da base de dados do exemplo de Northwind do usuário do SQL. Os certificados do SQL para gerar esta base de dados do exemplo podem ser encontrados.

Abra o nó da conexão do usuário do SQL à base de dados de Northwind, arraste a tabela dos empregados do Data Explorer  para seu formulário. Isto criará automaticamente um componente de BdpConnection e de BdpDataAdapter na área non-visual dos componentes . Selecione o BdpDataAdapter, clique com o botão direito do mouse e escolha a opção Configuration Data Adapter , será aberto a janela de diálogo do Configuration Data Adapter, vá à aba DataSet e selecione uma série de dados nova para pôr o resultado do comando SELECT.

Na sequência, na aba Borland Data Provider, clique em BDPDataAdapter.
Este componente representa um objeto de acesso e manipulação a uma tabela de banco de dados. As condições de obtenção de dados, bem como, persistência são funções suas.
Clicando com o botão direito do mouse sobre BDPDataAdapter, selecione Configure Data Adapter.

 examn66b.gif

Fechar a janela de diálogo, pressionando o botão “ok”.

Agora, coloque um DataGrid no formulário, e ajuste sua propriedade de DataSource para  dataSet1, e sua propriedade de DataMember aos empregados. Duplo-clique na área do formulário (abaixo do DataGrid ) ,no evento de Page_Load no editor do código, escreva a seguinte linha de código:

  procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);  begin    if not Page.IsPostBack then DataGrid1.DataBind  end; 

 Delphi 2005 Deployment Manager
O Delphi 2005  inclui uma administração de distribuição que pode ser usado em projetos de ASP.NET ou de IntraWeb , pode ser usado também em outras situações. Vá ao Project Manager, clique botão direito  no nó da distribuição e selecione "New ASP.NET Deployment”. Isto mostrará a página do Deployment Manager ASP.NET, alistando todas os arquivos que são parte de seu projeto de ASP.NET e necessitam ser desdobrados. Ou quase todos estes arquivos, você pode observar que não parece alistar todos os conjuntos de arquivos requeridos. Especificamente, não mostra os conjuntos de BDP no screenshot abaixo:

 examn66c.gif

Você deve ter notado que os conjuntos de BDP (como Borland.Data.Common.dll e Borland.Data.Provider.dll) são conjuntos assinados. Desde que ASP.NET não oficialmente os conjuntos de sustentação assinados com um nome a ser desdobrado no diretório bin  ou no diretório virtual, estes necessitam oficialmente ser desdobrados no Assembly Cache.

BDP Assemblies
A explanação real porque os Borland BDP assemblies não mostram acima no Deployment Manager é por causa da maneira que ele é referenciado  em nosso projeto. Se você abrir acima do nó das referências para o projeto de DelphiClinics, você observará os conjuntos de Borland.Data.Common.dll e de Borland.Data.Provider.dll assemblies. A fim adicionar estes dois assemblies ao diretório do projeto, clique com botão direito neles e escolha a opção Copy Local option ajuste-a para True (você pode também fazer isto no Object Inspector do objeto). Em conseqüência, quando nós compilamos o projeto de ASP.NET, estes dois assemblies serão colocados no diretório do target (ao lado do DelphiClinics.dll no bin subdirectory do  diretório virtual de DelphiClinics).

Entretanto, adicionar Borland.Data.Common.dll e Borland.Data.Provider.dll não é ainda o bastante. Como você pode recordar, nós usamos o usuário de Microsoft SQL Server e um componente de BdpConnection  conectado ao usuário do SQL Server. No entanto a lista dos arquivos não mostra a um usuário do SQL Server específico BDP driver. A razão para isto é o fato que os drivers de BDP estão carregados dinâmicamente basearam em sua referência na propriedade de ConnectionString property do componente de BdpConnection. Este é o lugar onde a referência é feita ao conjunto de Borland.Data.Mssql.dll assembly. Em "fix" (para reparar este), nós devemos também adicionar uma referência ao Borland.Data.Mssql a nosso projeto, usando o diálogo da referência da adição (Add Reference dialog):

 examn66d.gif

Note que outros  assemblies BDP existem também para o interBase, o oracle, a IBM DB2, o MS acesso, etc., e notem também que o número de versão é 2.2.0.0 (este é o número de versão que você possui após ter instalado o update #2 para Delphi 2005 - o número de versão original destes conjuntos de BDP é 2.0.0.0).

Depois que a referência a Borland.Data.Mssql é adicionada, clique com o botão direito do mouse no nó novo para assegurar que a  Copy Local option está habilitada, e então recompile o projeto. O Deployment Manager da distribuição deve agora ter uma lista razoavelmente completa : 

 examn66e.gif

Você pode agora conectar à máquina da deployed, e clicar no botão "deploy new and changed files". Então copie automaticamente(ou fazendo upload do ftp) todos os seus arquivos novos e modificados. Aquilo é realmente um time-saver, especialmente naquelas situações do fim do prazo onde tudo que você quer fazer deve focalizar nas mudanças que você faz ao código, sem necessitar preocupar-se sobre os arquivos reais para desdobrar-se.

Deployment Test
Uma vez que todas estes arquivos são desdobrados, você pode começar a aplicação especificando o endereço da máquina da distribuição(deployment) e o nome do formulário principal. Obviamente, o usuário do SQL e a base de dados própria devem também ser desdobrados na máquina de alvo (ou em um usuário separado da base de dados), e você tem que assegurar-se de que a propriedade de ConnectionString esteja atualizada para conectar à base de dados na posição nova. Eu quero apenas focalizar agora na aplicação  nos arquivos BDP-específicos requeridos.
Depois que nós desdobramos uma aplicação de ASP.NET usando o Deployment Manager (gerente da distribuição) como esboçado acima, nós podemos tentar ver uma página de ASP.NET que use os componentes de BDP conectar à base de dados. Infelizmente, uma mensagem de erro parece dizer-lhe que nem tudo trabalha muito bem.
.

 examn66g.gif