3. Anexos
3.1. Criando um projeto web com o Visual Studio.net no XP familiar
O Visual Studio.net permite criar diferentes tipos de projetos:

Para criar um projeto de aplicativo web, normalmente escolhe-se o tipo [Application Web ASP.NET]. Esse tipo de projeto requer a presença de um servidor web IIS local ou remoto. Se estiver trabalhando em uma máquina Windows XP, esse servidor não existe e não é possível instalá-lo. Portanto, não é possível criar um projeto do tipo [Application Web ASP.NET].
É possível contornar esse obstáculo aceitando algumas pequenas inconveniências. Basta:
- utilizar o servidor web Cassini em vez do servidor IIS. Ele está disponível gratuitamente no site da Microsoft.
- usar um projeto [Bibliothèque de classes] em vez do projeto [Application Web ASP.NET]
Vamos criar um projeto simples que mostre como proceder.
- Criar um projeto [Bibliothèque de classes]
![]() | ![]() |
- excluir [Class1.vb]

- adicionar um novo elemento ao projeto, do tipo [Fichier texte], e nomeá-lo [demo.aspx]:
![]() | ![]() |
- o arquivo [demo.aspx] é reconhecido como uma página da web e um editor de páginas é associado a ele. Esse editor possui dois painéis:
- [design] para construir a página graficamente
- [HTML] para acessar o código HTML da página

- clicar em [Affichage/Code] para exibir a parte do código VB da página. Nada acontece. Não há acesso ao código VB da página.
- acesse o painel [HTML] e insira o código que conectará a página [demo.aspx] ao código [demo.aspx.vb]:

- solicitar a exibição do código de controle associado à página por meio de [Affichage code - F7]. Obtém-se o arquivo [demo.aspx.vb]:

- a página [demo.aspx] agora é reconhecida como uma página da web [.aspx] com o código [.aspx.vb] associado.
- Voltemos ao painel [Design] de [demo.aspx] e criemos a seguinte página:

A página contém texto e um componente de servidor do tipo [Label] com o identificador [lblHeure].
- Vamos acessar o painel [HTML]. Nele, encontramos o seguinte código:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
Esse código está incompleto do ponto de vista da sintaxe HTML. Vamos completá-lo:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
<head>
<title>démo ASPX</title></head>
<body>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
</body>
</html>
- Vamos acessar o código [demo.aspx.vb] para inserir o código de controle que definirá a hora no componente [lblHeure]. Observamos que esse código não é reconhecido pelo Intellisense, a ferramenta de auxílio à escrita de código.
- Feche os arquivos [demo.aspx] e [demo.aspx.vb], salvando-os antes, e reabra-os. Passe para o código [demo.aspx.vb]. Desta vez, o componente [lblHeure] de [demo.aspx] é reconhecido corretamente pelo Intellisense no código [demo.aspx.vb]. Complete o código:

- gerar o projeto por meio de [Générer/Générer demo]. Se a geração ocorrer corretamente, o DLL será gerado na pasta [bin] do projeto:

- Estamos prontos para os testes. Configuramos o servidor Cassini (veja o parágrafo seguinte) da seguinte maneira:

O destino do atalho para o Cassini é definido da seguinte forma:
"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
o caminho do executável | |
o caminho da pasta do projeto web do Visual Studio | |
o caminho virtual associado |
- Inicie o Cassini. Seu ícone será exibido na barra de tarefas. Clique com o botão direito do mouse sobre ele e selecione a opção [Show details] para verificar se a configuração do servidor web está correta:

- Com um navegador, acessemos a página que criamos, solicitando o URL [http://localhost/demo/demo.aspx]. Obtemos o seguinte resultado:

Conseguimos criar um aplicativo web no Visual Studio utilizando:
- um projeto do tipo [bibliothèque de classes]
- o servidor web Cassini
Agora sabemos como construir aplicativos web em computadores que não dispõem do servidor IIS, como é o caso dos computadores Windows XP, edição familiar.
3.2. Onde encontrar o servidor web Cassini ?
Para trabalhar com a plataforma .NET da Microsoft, é possível utilizar o servidor web Cassini. Ele está disponível por meio de um produto chamado [WebMatrix], que é um ambiente gratuito de desenvolvimento web nas plataformas .NET, disponível no URL:

Seguiremos atentamente o procedimento de instalação do produto:
- baixar e instalar a plataforma .NET (versão 1.1, de março de 2004)
- baixar e instalar o WebMatrix
- baixar e instalar o MSDE (Microsoft Data Engine), que é uma versão limitada do SQL Server.
Após a conclusão da instalação, o produto [WebMatrix] estará disponível na lista de programas instalados:

O link [ASP.NET] Web Matrix inicia o IDE de desenvolvimento ASP.NET:

O link [Class Browser] inicia uma ferramenta de exploração de classes .NET:

Para testar a instalação, vamos executar o [WebMatrix]:
![]() |
Ao ser iniciado pela primeira vez, o [WebMatrix] solicita as características do novo projet.C; essa é sua configuração padrão. É possível configurá-lo para que essa caixa de diálogo não apareça na inicialização. Para isso, utilize a opção [File/New File]. O [WebMatrix] permite criar esqueletos para diferentes aplicativos web. Acima, especificamos com (1) que queríamos criar um aplicativo [ASP.ET Page], que é uma página da web. Com (2), especificamos a pasta na qual essa página da web será colocada. Em (3), informamos o nome da página. Ela deve ter a extensão .aspx. Por fim, em (4), especificamos que queremos trabalhar com a linguagem VB.NET, já que o [WebMatrix] também suporta as linguagens C# e J#. Feito isso, o [WebMatrix] exibe uma página de edição do arquivo [demo1.aspx]. Colocamos nela o seguinte código:

- A aba [Design] permite “desenhar” a página da web que se deseja construir. O processo é semelhante ao do IDE para a criação de aplicativos do Windows.
- O design gráfico da página da Web no [Design] irá gerar código HTML na aba [HTML]
- A página da Web pode conter controles que geram eventos aos quais é preciso reagir, como um botão, por exemplo. Esses eventos serão gerenciados pelo código VB.NET, que será colocado na aba [Code]
- por fim, o arquivo demo1.aspx é um arquivo de texto que combina o código HTML e o código VB.NET, resultado do projeto gráfico feito em [Design], do código HTML que foi adicionado manualmente no [HTML] e do código VB.NET inserido no [Code]. O arquivo completo está disponível na aba [All].
- Um desenvolvedor experiente em ASP.ET pode criar o arquivo demo1.aspx diretamente com um editor de texto, sem a ajuda de nenhum IDE.
Vamos selecionar a opção [All]. Percebemos que o [WebMatrix] já gerou código:
<%@ Page Language="VB" %>
<script runat="server">
' Insira o código da página aqui
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Insira o conteúdo aqui -->
</form>
</body>
</html>
Não vamos tentar explicar esse código aqui. Vamos transformá-lo da seguinte maneira:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
O código acima é uma combinação do código HTML com o código VB.NET. Ele foi inserido entre as tags <% ... %>. Para executar esse código, utilizamos a opção [View/Start]. O [WebMatrix] inicia, então, o servidor web Cassini, caso ele ainda não esteja em execução

É possível aceitar os valores padrão propostos nessa caixa de diálogo e selecionar a opção [Start]. O servidor web estará então ativo. O [WebMatrix] iniciará o navegador padrão do computador em que está instalado e solicitará o URL http://localhost:8080/demo1.aspx:

É possível utilizar o servidor Cassini fora do [WebMatrix]. O executável do servidor está localizado em <WebMatrix>\<versão>\WebServer.exe, onde <WebMatrix> é o diretório de instalação do [WebMatrix] e <versão> é o número da versão:

Abramos uma janela do DOS e acessemos a pasta do servidor Cassini:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
Vamos executar o [WebServer.exe] sem parâmetros:
Aparece uma janela de ajuda:

O aplicativo [WebServer], também conhecido como servidor web Cassini, aceita três parâmetros:
- /port: número da porta do serviço web. Pode ser qualquer valor. Por padrão, o valor é 80
- /path: caminho físico de uma pasta no disco
- /vpath: pasta virtual associada à pasta física anterior. É importante observar que a sintaxe não é /path=caminho, mas sim /vpath:caminho, ao contrário do que indica o exemplo [Example] do painel de ajuda acima.
Vamos colocar o arquivo [demo1.aspx] na seguinte pasta:

Vamos associar a pasta física [d:\data\devel\webmatrix] à pasta virtual [/webmatrix]. O servidor web poderia ser iniciado da seguinte maneira:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
O servidor Cassini fica então ativo e seu ícone aparece na barra de tarefas. Se clicarmos duas vezes nele:

Encontram-se os parâmetros de inicialização do servidor. Também é possível encerrar o [Stop] ou reiniciar o servidor web [Restart]. Ao clicar no link [Root URL], a raiz da árvore de diretórios web do servidor é exibida em um navegador:

Vamos seguir o link [demos]:

e, em seguida, o link [demo1.aspx]:

Vemos, portanto, que se a pasta física P=[d:\data\devel\webmatrix] foi associada à pasta virtual V=[/webmatrix] e o servidor opera na porta 100, a página da web [demo1.aspx], que se encontra fisicamente em [P\demos], estará acessível localmente por meio de URL [http://localhost:100/V/demos/demo1.aspx].
Para não precisar abrir uma janela DOS para iniciar o servidor Cassini, é possível criar um atalho para o executável do servidor com propriedades semelhantes às seguintes:

"C:\Arquivos de Programas\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\trabalho\2004-2005\aspnet\webarticles-010405\versão3\web" /vpath:"/webarticles" | |
"C:\Arquivos de Programas\Microsoft ASP.NET Web Matrix\v0.6.812" |
3.3. Onde encontrar o Spring?
O site principal do Spring é [http://www.springframework.org/]. Esse é o site da versão Java. A versão .NET em desenvolvimento (abril de 2005) está no endereço [http://www.springframework.net/].

O site de download está em [SourceForge]:

Depois de baixar o arquivo zip acima, descompacte-o:

Neste documento, utilizamos apenas o conteúdo da pasta [bin]:

Em um projeto do Visual Studio que utiliza o Spring, é necessário realizar sistematicamente duas ações:
- colocar os arquivos acima na pasta [bin] do projeto
- adicionar ao projeto uma referência ao assembly [Spring.Core.dll]
3.4. Onde encontrar o Nunit?
O site principal do Nunit é [http://www.nunit.org/]. A versão disponível em abril de 2005 é a 2.2.0:

Baixe essa versão e instale-a. A instalação cria uma pasta onde você encontrará a versão gráfica de teste:
O que é interessante está na pasta [bin]:


A seta acima indica o utilitário gráfico de teste. A instalação também adicionou novos elementos ao repositório de assemblies do Visual Studio, que vamos explorar agora.
Vamos criar o seguinte projeto do Visual Studio:

A classe testada está em [Personne.vb]:
Public Class Personne
' campos privados
Private _nom As String
Private _age As Integer
' construtor padrão
Public Sub New()
End Sub
' propriedades associadas aos campos privados
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' cadeia de identidade
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' método init
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' método close
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
A classe de teste está em [NunitTestPersonne-1.vb]:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' objeto testado
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' cria-se uma instância de Pessoa
personne1 = New Personne
' log
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' log na tela
Console.WriteLine("début test")
' inicialização de pessoa1
With personne1
.nom = "paul"
.age = 10
End With
' testes
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' log de tela
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' acompanhamento
Console.WriteLine("teardown test")
End Sub
End Class
Há vários pontos a serem observados:
- os métodos possuem atributos como <Setup()>, <TearDown()>, ...
- para que esses atributos sejam reconhecidos, é necessário que:
- o projeto faça referência ao assembly [nunit.framework.dll]
- a classe de teste importe o namespace [NUnit.Framework]
A referência é obtida clicando com o botão direito do mouse em [References] no Explorador de Soluções:
![]() | ![]() |

O assembly [nunit.framework.dll] deve constar na lista exibida se a instalação do [Nunit] tiver ocorrido sem problemas. Basta clicar duas vezes no assembly para adicioná-lo ao projeto:

Feito isso, a classe de teste [NunitTestPersonne] deve importar o namespace [NUnit.Framework]:
Os atributos da classe de teste [NunitTestPersonne] devem, então, ser reconhecidos.
- o atributo <Test()> indica um método a ser testado
- o atributo <Setup()> indica o método a ser executado antes de cada método testado
- o atributo <TearDown()> indica o método a ser executado após cada método testado
- o método Assert.AreEqual permite testar a igualdade entre dois entités.Il; existem muitos outros métodos do tipo Assert.xx.
- O utilitário NUnit interrompe a execução de um método testado assim que um método [Assert] falhar e exibe uma mensagem de erro. Caso contrário, exibe uma mensagem de sucesso.
Vamos configurar nosso projeto para que ele gere um DLL:

O DLL gerado será chamado de [nunit-demos-1.dll] e será colocado, por padrão, na pasta [bin] do projeto. Vamos gerar nosso projeto. Obtemos na pasta [bin]:

Agora, vamos executar o utilitário de teste gráfico Nunit. Vale lembrar que ele está localizado em <Nunit>\bin e se chama [nunit-gui.exe]. <Nunit> refere-se à pasta de instalação do [Nunit]. Aparece a seguinte interface:

Vamos usar a opção de menu [File/Open] para carregar o DLL e o [nunit-demos-1.dll] do nosso projeto:

O [Nunit] é capaz de detectar automaticamente as classes de teste presentes no DLL carregado. Nesse caso, ele localiza a classe [NunitTestPersonne]. Em seguida, exibe todos os métodos da classe que possuem o atributo <Test()>. O botão [Run] permite executar os testes no objeto selecionado. Se for a classe [NunitTestPersonne], todos os métodos exibidos serão testados. É possível solicitar o teste de um método específico selecionando-o e solicitando sua execução por meio de [Run]. Vamos solicitar a execução da classe:

Um teste bem-sucedido em um método é indicado por um ponto verde ao lado do método na janela à esquerda. Um teste com falha é indicado por um ponto vermelho.
A janela [Console.Out], à direita, mostra as exibições na tela geradas pelos métodos testados. Aqui, quisemos acompanhar o andamento de um teste:
- a linha 1 mostra que o método de atributo <Setup()> é executado antes do teste
- as linhas 2 e 3 são geradas pelo método [demo] testado (veja o código acima)
- a linha 4 mostra que o método de atributo <TearDown()> é executado após o teste
3.5. Onde encontrar o SGBD e do Firebird?
O site principal do Firebird é [http://firebird.sourceforge.net/]. A página de downloads oferece os seguintes links (abril de 2005):

Devemos baixar os seguintes arquivos:
o SGBD para Windows | |
uma biblioteca de classes para aplicativos .NET que permite acessar o SGBD sem passar por um driver ODBC. | |
o driver ODBC do Firebird |
Instale esses elementos. O SGBD é instalado em uma pasta cujo conteúdo é semelhante ao seguinte:

Os binários estão na pasta [bin]:

permite iniciar/parar o SGBD | |
cliente de linha que permite gerenciar bancos de dados |
Observe que, por padrão, o administrador do SGBD se chama [SYSDBA] e sua senha é [masterkey]. Foram instalados menus no [Démarrer]:

A opção [Firebird Guardian] permite iniciar/encerrar o SGBD. Após o início, o ícone do SGBD permanece na barra de tarefas do Windows:
![]() |
Para criar e utilizar bancos de dados Firebird com o cliente de linha de comando [isql.exe], é necessário consultar a documentação fornecida com o produto na pasta [doc]. Uma maneira mais rápida de trabalhar com o Firebird é utilizar um cliente gráfico. Um exemplo desse tipo de cliente é o IB-Expert, descrito no parágrafo a seguir.
3.6. Onde encontrar o IB- Expert?
O site principal do Firebird é [http://www.ibexpert.com/]. A página de downloads oferece os seguintes links:

Escolha a versão gratuita [Personal Edition]. Após baixá-la e instalá-la, você terá uma pasta semelhante à seguinte:

O executável é o [ibexpert.exe]. Normalmente, há um atalho disponível no menu [Démarrer]:

Uma vez iniciado, o IBExpert exibe a seguinte janela:

Vamos usar a opção [Database/Create Database] para criar um banco de dados:

pode ser [local] ou [remote]. Aqui, nosso servidor está na mesma máquina que o [IBExpert]. Portanto, escolhemos [local] | |
utilize o botão do tipo [dossier] do menu suspenso para indicar o arquivo do banco de dados. O Firebird armazena todo o banco de dados em um único arquivo. Essa é uma de suas vantagens. O banco de dados é transferido de um computador para outro simplesmente copiando o arquivo. O sufixo [.gdb] é adicionado automaticamente. | |
SYSDBA é o administrador padrão das distribuições atuais do Firebird | |
masterkey é a senha do administrador SYSDBA das distribuições atuais do Firebird | |
o dialeto SQL a ser utilizado | |
se a caixa estiver marcada, IBExpert exibirá um link para o banco de dados criado após sua criação |
Se, ao clicar no botão de criação [OK], você receber o seguinte aviso:

isso significa que você não iniciou o Firebird. Inicie-o. Aparece uma nova janela:

O [IBExpert] é capaz de gerenciar diferentes SGBD derivados do Interbase. Selecione a versão do Firebird que você instalou |
![]()
Depois que essa nova janela for validada pelo [Register], obtém-se o seguinte resultado:

Para acessar o banco de dados criado, basta clicar duas vezes no link correspondente. O IBExpert exibe então uma árvore de navegação que dá acesso às propriedades do banco de dados:

Vamos criar uma tabela. Clique com o botão direito do mouse em [Tables] e selecione a opção [New Table]. Aparece a janela de definição das propriedades da tabela:
![]() |
Vamos começar atribuindo o nome [ARTICLES] à tabela, utilizando o campo de entrada [1]:
![]() |
Usemos o campo de entrada [2] para definir uma chave primária [ID]:
![]() |
Um campo é definido como chave primária ao clicar duas vezes no campo [PK] (Primary Key) do campo. Vamos adicionar campos usando o botão [3]:

Enquanto não tivermos “compilado” nossa definição, a tabela não será criada. Usemos o botão [Compile] acima para concluir a definição da tabela. O IBExpert prepara as consultas SQL para a geração da tabela e solicita confirmação:

Curiosamente, o IBExpert exibe as consultas SQL que executou. Isso permite o aprendizado tanto da linguagem SQL quanto do dialeto SQL, que pode ser proprietário. O botão [Commit] permite confirmar a transação em andamento, enquanto o botão [Rollback] permite cancelá-la. Aqui, a transação é aceita por meio de [Commit]. Feito isso, IBExpert adiciona a tabela criada à estrutura da nossa base de dados:

Ao clicar duas vezes na tabela, temos acesso às suas propriedades:

O painel [Constraints] permite adicionar novas restrições de integridade à tabela. Vamos abri-lo:

Encontramos a restrição de chave primária que criamos. É possível adicionar outras restrições:
- chaves estrangeiras [Foreign Keys]
- restrições de integridade de campos [Checks]
- restrições de exclusividade de campos [Uniques]
Observemos que:
- os campos [ID, PRIX, STOCKACTUEL, STOKMINIMUM] devem ser >0
- o campo [NOM] deve ser diferente de vazio e único
Abramos o painel [Checks] e cliquemos com o botão direito do mouse na área de definição de restrições para adicionar uma nova restrição:

Vamos definir as restrições desejadas:

Observe-se acima que a restrição [NOM<>''] utiliza dois apóstrofos e não aspas. Vamos compilar essas restrições com o botão [Compile] acima:

Mais uma vez, IBExpert demonstra clareza ao indicar as consultas SQL que foram executadas. Passemos agora ao painel [Constraints/Uniques] para indicar que o nome deve ser único:

Vamos definir a restrição:

Vamos compilá-la. Feito isso, abramos o painel [DDL] da tabela [ARTICLES]:

Esse painel fornece o código SQL para a geração da tabela com todas as suas restrições. É possível salvar esse código em um script para executá-lo posteriormente:
SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
ID INTEGER NOT NULL,
NOM VARCHAR(20) NOT NULL,
PRIX DOUBLE PRECISION NOT NULL,
STOCKACTUEL INTEGER NOT NULL,
STOCKMINIMUM INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);
Agora é hora de inserir dados na tabela [ARTICLES]. Para isso, vamos usar seu painel [Data]:

Os dados são inseridos clicando duas vezes nos campos de entrada de cada linha da tabela. Uma nova linha é adicionada com o botão [+], e uma linha é excluída com o botão [-]. Essas operações são realizadas em uma transação que é validada pelo botão [Commit Transaction]. Sem essa validação, os dados serão perdidos.
O IBExpert permite emitir consultas SQL por meio da opção [Tools/SQL Editor] ou [F12]. Assim, tem-se acesso a um editor avançado de consultas SQL, com o qual é possível executar consultas. Elas são armazenadas, permitindo retornar a uma consulta já executada. Veja um exemplo:

Executamos a consulta SQL usando o botão [Execute] acima. Obtemos o seguinte resultado:

Vamos encerrar nossas demonstrações por aqui. A combinação IBExpert-Firebird se mostra excelente para o aprendizado de bancos de dados.
3.7. Instalar e usar um driver ODBC para [Firebird]
3.8. Instalar o driver
O link [firebird-odbc-provider] na página de downloads do [Firebird] (parágrafo 3.5) dá acesso a um driver ODBC. Depois de instalado, ele aparece na lista de drivers ODBC instalados.
3.9. Criar uma fonte ODBC
- Execute a ferramenta [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC]:

- aparece a seguinte janela:

- Adicionemos [Add], uma nova fonte de dados do sistema (painel [System DSN]), que associaremos ao banco de dados Firebird que criamos no parágrafo anterior:

- Primeiro, precisamos especificar o driver ODBC a ser utilizado. Acima, escolhemos o driver para o Firebird e, em seguida, clicamos em [Terminer]. O assistente do driver ODBC do Firebird assume então o controle:

- preenchemos os diversos campos:

o nome DSN da fonte ODBC — pode ser qualquer um | |
o nome do arquivo BD do Firebird a ser processado — use [Browse] para indicar o arquivo .gbd correspondente | |
identificador a ser usado para se conectar ao banco de dados | |
a senha associada a esse identificador |
O botão [Test connection] permite verificar a validade das informações fornecidas. Antes de usá-lo, execute o SGBD [Firebird]:

- confirme o assistente ODBC, executando o [OK] quantas vezes forem necessárias
3.10. Teste a fonte ODBC
Existem várias maneiras de verificar se uma fonte ODBC está funcionando corretamente. Aqui, vamos usar o Excel:

- utilizemos a opção [Données -> Données externes -> Créer une requête] acima. Aparece a primeira janela de um assistente de definição da fonte de dados. O painel [Bases de données] lista as fontes ODBC atualmente definidas no computador:

- Selecione a fonte ODBC [odbc-firebird-articles] que acabamos de criar e avance para a próxima etapa com [OK]:

- esta janela lista as tabelas e colunas disponíveis na fonte ODBC. Selecionamos toda a tabela:

- Vamos para a próxima etapa com [Suivant]:

- esta etapa nos permite filtrar os dados. Aqui, não aplicamos nenhum filtro e passamos para a próxima etapa:

- essa etapa nos permite ordenar os dados. Não faremos isso e passamos para a próxima etapa:

- A última etapa nos pergunta o que queremos fazer com os dados. Aqui, os enviamos para o Excel:

- Aqui, o Excel pergunta onde queremos inserir os dados recuperados. Nós os colocamos na planilha ativa, a partir da célula A1. Os dados são então recuperados na planilha do Excel:

Existem outras maneiras de testar a validade de uma fonte ODBC. Por exemplo, é possível utilizar o pacote gratuito OpenOffice, disponível no URL [http://www.openoffice.org]. Aqui está um exemplo com um texto OpenOffice:
![]() | ![]() |
- Um ícone no lado esquerdo da janela do OpenOffice dá acesso às fontes de dados. A interface muda então para exibir uma área de gerenciamento das fontes de dados:

- uma fonte de dados está predefinida: a fonte [Bibliography]. Um clique com o botão direito na área de fontes de dados permite criar uma nova fonte com a opção [Gérer les sources de données]:

- Um assistente [Gestion des sources de données] permite criar fontes de dados. Ao clicar com o botão direito do mouse na área de fontes de dados, é possível criar uma nova fonte com a opção [Nouvelle source de données]:

qualquer nome. Aqui, utilizamos o nome da fonte ODBC | |
OpenOffice é capaz de lidar com diferentes tipos de BD por meio de JDBC, ODBC ou diretamente (MySQL, Dbase, ...). Para o nosso exemplo, é preciso escolher o ODBC | |
o botão à direita do campo de entrada nos dá acesso à lista de fontes ODBC da máquina. Escolhemos a fonte [odbc-firebird-articles] |
- passamos para o painel [ODBC] para definir o usuário com cuja identidade será feita a conexão:

o proprietário da fonte ODBC |
- passamos para o painel [Tables]. É solicitada a senha. Aqui, ela é [masterkey]:

- executamos [OK]. A lista de tabelas da fonte ODBC é então exibida:

- é possível definir as tabelas que serão apresentadas no documento [OpenOffice]. Aqui, escolhemos a tabela [ARTICLES] e passamos para [OK]. A definição da fonte de dados está concluída. Ela aparece, então, na lista de fontes de dados do documento ativo:

- é possível arrastar com o mouse a tabela [ARTICLES] acima para dentro do texto [OpenOffice]:

3.11. Cadeia de conexão de uma fonte ODBC Firebird
- Inicie o Visual Studio e acesse o explorador de servidores [Affichage/Explorateur de serveurs]:
![]() |
- clique com o botão direito do mouse em [Connexion de données] e selecione a opção [Ajouter une connexion]:

- no painel [Provider], indique que deseja usar uma fonte ODBC (veja acima) e, em seguida, passe para o painel [Connection]:

selecione a fonte ODBC no menu suspenso. A fonte recém-criada deve aparecer. Se necessário, use [Refresh] para atualizar a lista de fontes ODBC. | |
identificador a ser usado para se conectar ao banco de dados | |
a senha associada a esse identificador |
Mais uma vez, um botão [Test Connection] permite verificar a validade das informações:

- confirme o assistente com [OK]. A fonte de dados aparece então na janela [Explorateur de serveurs] do Visual Studio:

- Ao clicar duas vezes na tabela [ARTICLES], tem-se acesso aos dados da tabela:

- Se clicarmos com o botão direito do mouse no link [Firebird Server D:\temp\... ] e selecionarmos a opção [Propriétés], teremos acesso às propriedades da conexão:

- A string de conexão [ConnectString] é uma propriedade importante a se conhecer, pois o código .NET precisa dela para estabelecer uma conexão com o banco de dados. Aqui, essa string de conexão é:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"
Muitos elementos dessa cadeia de conexão possuem valores padrão. Podemos nos contentar com a seguinte cadeia de conexão:
Isso encerra nossa apresentação do driver ODBC do [Firebird].
3.12. Onde encontrar o SGBD MSDE?
O MSDE é a versão gratuita do servidor SGBD e SQL da Microsoft. Ele pode ser encontrado no URL e [http://www.microsoft.com/sql/msde/downloads/download.asp]:
![]() |
![]() | ![]() |
Baixe o arquivo de instalação e instale o SGBD clicando duas vezes no executável baixado. Uma janela solicitará a pasta de instalação. O título é enganador. Trata-se de uma pasta temporária que poderá ser excluída posteriormente:
![]() | ![]() |
Leia atentamente o arquivo [ReadmeMSDE2000A.htm]. O programa de instalação é o [setup.exe] mencionado acima. Ele é executado na linha de comando para que seja possível passar parâmetros a ele. Os principais são os seguintes:
Descrição | |
| Especifica uma senha reforçada a ser atribuída ao login de administrador “sa”. |
| Define o nome da instância. Se INSTANCENAME não for especificado, o programa de instalação instalará uma instância padrão. |
Outros parâmetros frequentemente utilizados para personalizar uma instalação são:
Descrição | |
| Especifica se a instância aceitará conexões de rede provenientes de aplicativos executados em outros computadores. Por padrão, ou se você especificar DISABLENTWORKPROTOCOL=1, o programa de instalação configura a instância para recusar conexões de rede. Especifique DISABLENETWORKPROTOCOLS=0 para ativar as conexões de rede. |
Especifica que a instância deve ser instalada no modo misto, ou seja, que a instância suporta a autenticação do Windows e a autenticação SQL para as conexões | |
| Especifica a pasta na qual o instalador instala os bancos de dados do sistema, os registros de erros e os scripts de instalação. O valor especificado para chemin_dossier_données deve terminar com uma barra invertida (\). Para uma instância padrão, o programa de instalação acrescenta MSSQL\ ao valor especificado. Para uma instância nomeada, o programa de instalação adiciona MSSQL$NomInstance\, onde NomInstance é o valor especificado por meio do parâmetro INSTANCENAME. O programa de instalação cria três pastas no local especificado: uma pasta Data, uma pasta Log e uma pasta Script. |
| Especifica a pasta na qual o programa de instalação instala os arquivos executáveis do MSDE 2000. O valor especificado para o chemin_dossier_exécutables deve terminar com uma barra invertida (\). Para uma instância padrão, o programa de instalação adiciona MSSQL\Binn ao valor especificado. Para uma instância nomeada, o programa de instalação adiciona MSSQL$NomInstance\Binn, onde NomInstance é o valor especificado por meio do parâmetro INSTANCENAME. |
Após ler as recomendações de instalação acima, vamos para a pasta onde os arquivos de instalação foram extraídos e executamos o seguinte comando DOS (uso do SGBD sem rede):
- INSTANCENAME="MSDE140405" — esse será o nome da nossa instância MSDE. É possível instalar várias instâncias.
- SECURITYMODE=SQL — o SGBD funcionará no modo de autenticação mista. Assim, será possível conectar-se ao MSDE de duas maneiras:
- com uma conta de administrador do Windows
- com uma conta MSDE — nesse caso, serão solicitados um nome de usuário e uma senha. Esse será o modo a ser utilizado em um programa que se conecte a um banco de dados da instância SGBD.
- SAPWD="azerty" — essa será a senha do usuário da conta SGBD. O usuário [sa] possui direitos de administração sobre a conta SGBD.
Para utilizar o SGBD em rede, teria sido executado o seguinte comando:
O programa de instalação é minimalista e é concluído sem exibir nenhuma mensagem... No entanto, é possível verificar que o SGBD foi instalado por meio da opção [Menu Démarrer -> Panneau de configuration -> Ajouter et supprimer des programmes]:
![]()
A instalação ocorre normalmente em C:\Arquivos de Programas\Microsoft SQL Server\MSSQL$nomInstance:
![]() | ![]() |
Na pasta [LOG] da pasta de instalação, encontra-se o arquivo de logs da fase de instalação do SGBD. Nele há uma informação importante: o nome da instância MSDE:
É importante saber esse nome, pois todos os clientes do SGBD precisarão dele. Na ausência desses logs, é possível encontrar o nome de um servidor MSDE, que é [machine_windows\nom_instance_MSDE]. O nome da máquina está disponível em vários locais. Por exemplo:
- clique com o botão direito do mouse em [poste de travail] na área de trabalho, selecione a opção [propriétés] e, em seguida, o painel [Nom de l'ordinateur]:

Ainda não se sabe como iniciar o servidor MSDE. Normalmente, um atalho foi colocado em [Démarrer/Démarrage].

Ao verificar as propriedades desse atalho, percebe-se que o destino é o seguinte:
Na pasta [ C:\Program Files\Microsoft SQL Server], existem subpastas:

- MSSQL$MSDE140405 é a pasta da instância MSDE que acabamos de instalar.
- MSSQL é a pasta de uma instância anterior, MSDE. Como ela não tem nome, chamamos-a de instância padrão.
- A pasta [80] é uma pasta comum às diferentes instâncias instaladas de MSDE. O destino [sqlmangr.exe] do atalho que inicia uma instância de MSDE está na pasta [ 80\Tools\Binn].
Vamos iniciar o MSDE por meio do atalho do [Démarrer -> Programmes -> Démarrage]. Praticamente nada acontece, exceto que um ícone foi exibido na barra de estado: | Vamos clicar duas vezes nesse ícone: ![]() |
O servidor MSDE proposto aqui é o servidor padrão [PORTABLE1_TAHE] presente na máquina. Vale lembrar que o servidor MSDE que instalamos se chama [PORTABLE1_TAHE\MSDE140405]. Alteramos o nome do servidor no campo apropriado: ![]() | Se tudo correr bem, a instância [MSDE140405] deve ser iniciada: ![]() |
É possível fazer uma primeira verificação. Na mesma pasta em que se encontra o [sqlmangr.exe], há um cliente de console [osql.exe] que permite conectar-se a um servidor MSDE e emitir comandos SQL. Durante a instalação, atribuímos a senha [azerty] ao administrador [sa] do nosso servidor MSDE. Por meio do cliente de console, vamos nos conectar ao servidor recém-instalado. Ao executar o comando [osql -?], é exibida a lista de parâmetros possíveis:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
[-U ID de connexion]
[-P mot de passe]
[-S serveur]
[-H nom de l'hôte]
[-E connexion approuvée]
[-d utiliser le nom de la base de données]
[-l limite du temps de connexion]
[-t limite du temps de requête]
[-h en-têtes]
[-s séparateur de colonnes]
[-w largeur de colonne]
[-a taille du paquet]
[-e entrée d'écho]
[-I Activer les identificateurs marqués]
[-L liste des serveurs]
[-c fin de cmd] [-D nom ODBC DSN]
[-q "requête cmdline"]
[-Q "requête cmdline" et quitter]
[-n supprimer la numérotation]
[-m niveau d'erreur]
[-r msgs vers stderr]
[-V severitylevel]
[-i fichier d'entrée]
[-o fichier de sortie]
[-p imprimer les statistiques] [-b abandon du lot d'instruction après erreur]
[-X[1] désactive les commandes [et quitte avec un avertissement]]
[-O utiliser le comportement Old ISQL désactive les éléments suivants]
<EOF> traitement par lot d'instructions
Mise à l'échelle automatique de la largeur de la console
Messages larges
niveau d'erreur par défaut de -1 au lieu de 1
[-? description de la syntaxe]
Iniciemos o servidor [MSDE140405] conforme indicado acima e, em seguida, em uma janela do DOS, usemos o [osql] para nos conectarmos ao servidor [portable1_tahe\msde140405] com a identidade [sa, azerty]:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>
O prompt [1>] indica que o [osql] está aguardando um comando. Estamos conectados corretamente. Para utilizar corretamente o [osql], é necessário consultar a documentação do MSDE. Ela está disponível em diversos formatos (PDF, HTMLHelp, etc.). Essa documentação é bastante extensa. Em geral, é preferível usar um cliente gráfico para trabalhar com um banco de dados MSDE. É isso que será proposto um pouco mais adiante. Para sair do [osql], usa-se o comando [exit]:
Veremos agora como criar bancos de dados no servidor MSDE recém-instalado. Antes disso, apresentaremos rapidamente uma ferramenta [MSDE Manager] que permite alterar o modo de autenticação de um servidor MSDE. De fato, se instalarmos esse servidor utilizando as opções padrão de instalação, o modo de autenticação do servidor será do tipo [authentification windows]. Esse tipo de autenticação permite apenas usuários identificados no computador Windows (eventualmente por meio de um domínio). Para um programa VB.NET que deseja se conectar a um banco de dados para explorar seu conteúdo, esse modo se mostra pouco prático. A situação é ainda pior para aplicativos Java que acessam o SGBD por meio de um driver JDBC. Nesse caso, é preferível a autenticação mista, que, além da autenticação anterior, aceita pares (login, senha) declarados no SGBD. A ferramenta [MSDE Manager] permite realizar essa operação.
3.13. Onde encontrar o MSDE Manager?
O [MSDE Manager] é uma ferramenta de administração do SGBD e do MSDE. Ele pode ser encontrado no URL e no [http://www.valesoftware.com/].
Baixamos a versão gratuita seguindo o link acima:


A versão de avaliação tem validade limitada. Isso é adequado, pois a utilizaremos apenas para uma única ação bem específica. Baixamos e instalamos o produto. Um atalho é criado na área de trabalho. Nós o utilizamos para iniciar o MSDE Manager. Após passar pelas primeiras janelas, chegamos a esta:

- inicie o servidor MSDE140405
- você deve estar conectado ao computador Windows como administrador
- clique com o botão direito do mouse no link [SQL Server Group] e selecione a opção [New SQL Server Registration]:


Aparece a seguinte página de propriedades:
![]() |
portable1_tahe\msde140405 — nome da instância MSDE à qual você deseja se conectar | |
Autenticação do Windows — esse modo está sempre disponível e permite que um administrador do computador Windows se conecte ao servidor MSDE | |
Selecione o único grupo de servidores apresentado: [SQL Server Group] |
Após clicar em [OK], a árvore de propriedades do servidor MSDE140405 é exibida:

Poderíamos começar a criar bancos de dados. Não faremos isso, pois utilizaremos outro produto, um clone do produto IBExpert já analisado. Vamos simplesmente alterar o modo de autenticação do MSDE. Clique com o botão direito do mouse no servidor MSDE140405 acima e selecione a opção [Design]:

Aparece a seguinte janela de informações:

O painel [General] fornece informações sobre o servidor MSDE ao qual estamos conectados. A página [Security] é a que nos interessa:

É preciso verificar aqui se o modo de autenticação do MSDE é, de fato, o [SQL Server and Windows]. Assim, será possível conectar-se ao MSDE de duas maneiras:
- com uma conta de administrador do Windows — foi o que foi feito aqui
- com uma conta MSDE — nesse caso, serão solicitados um nome de usuário e uma senha. Esse será o modo a ser utilizado em um programa que se conecte a um banco de dados do SGBD.
Confirmamos essa escolha e saímos do MSDE Manager. Não precisaremos mais dele. Para criar bancos de dados MSDE, vamos usar outra ferramenta: o EMS MS SQL Manager.
3.14. Onde encontrar o EMS , MS e SQL Manager?
O EMS MS SQL Manager é uma ferramenta gráfica que permite trabalhar com o SGBD Microsoft SQL Server e, portanto, com o MSDE. É muito semelhante à ferramenta IB-Expert descrita anteriormente. Está disponível na versão URL [http://sqlmanager.net/] (abril de 2005):

O site oferece gerenciadores de administração para vários SGBD. Acesse o link [MS SQL Manager]:

Acima, escolhemos a versão simplificada do produto. Baixe-a e instale-a. Você terá uma pasta semelhante à seguinte:

O executável é o [MsManager.exe]. Normalmente, há um atalho disponível no menu [Démarrer]:

Uma vez iniciado, o MS SQL Manager exibe a seguinte janela:

Vamos começar registrando o servidor MSDE no qual queremos trabalhar com a opção [Database/Register Host]:
![]() |
Comentários:
- etapa 1 — como já foi mencionado, o MSDE aceita dois modos de autenticação: Windows e SQL Server. No modo [windows], são utilizadas as contas do computador Windows. No modo [SQL Server], são utilizadas as contas do SGBD. O [SQL Server] pode operar no modo [Windows] ou no modo misto [Windows, SQL Server]. O modo de autenticação [Windows] ainda existe. O modo de autenticação misto, por sua vez, nem sempre está ativo. Vimos como ativá-lo com o MSDE Manager. Acima, a conexão foi feita com uma conta de administrador.
- Etapa 2 – Após a autenticação bem-sucedida, são apresentados os bancos de dados padrão do MSDE. Acima, todos foram selecionados.
![]() |
Comentários:
- Etapa 3: é possível selecionar opções de administração das bases de dados escolhidas. Aqui, as opções sugeridas por padrão foram mantidas.
- Etapa 4: registramos o servidor MSDE com o botão [Register]
O servidor MSDE aparece então no explorador de bancos de dados:

Vamos usar a opção [Database/Create Database] para criar um banco de dados:
![]() |
Etapa 2:
Quando esta página de informações for exibida, o banco de dados [dbarticles] terá sido criado. É possível verificar isso com o botão [Test Connect]. No campo [Database alias], pode-se inserir o que se desejar. Aqui, indicamos:
- o nome do banco de dados
- o nome do servidor MSDE no qual ela está localizada
- o usuário [admarticles] que será o proprietário desse banco de dados e sua senha [mdparticles]. Esse usuário ainda não foi criado, mas será em breve.
Etapa 3:
- com o botão [Register], registramos o novo banco de dados no [MS SQL Server ]. Após o registro, o banco de dados [admarticles] aparece na lista de bancos de dados. Ao clicar duas vezes nele, é exibida a árvore de suas propriedades.
![]() | ![]() |
Vamos criar um novo login de acesso que será administrador do banco de dados [admarticles].
- Selecione a opção [Tools/Login manager]:

- percebe-se que já existem duas contas definidas:
- [BUILTIN\Administrateurs]: esta conta utiliza autenticação do Windows. Ela representa os administradores da máquina Windows na qual está instalado o servidor MSDE
- sa: este login utiliza autenticação SQL. Por padrão, trata-se do administrador do servidor MSDE. Vale lembrar que, neste caso, conforme configurado na instalação do SGBD MSDE, sua senha é [azerty].
- Clique com o botão direito do mouse na área de logins e adicione um novo login:
![]() |
- Aparece uma janela de entrada de dados onde definimos as características do novo login:

- Nome de login: admarticles
- Senha: mdparticles
- Após clicar no botão [OK], o MS Manager exibe as consultas SQL que serão executadas:

A linguagem SQL apresentada acima é Transact-SQL, a linguagem SQL do MSDE. Solicitamos a execução desse código pelo [OK]
- o novo login é inserido na lista de logins:

- na janela de propriedades do banco de dados [dbarticles], cliquemos com o botão direito do mouse em [users] para criar um usuário com direitos sobre o banco de dados [dbarticles]:

- aparece então a seguinte janela:

- No menu suspenso [Login], temos a lista de logins existentes. Selecionamos o login [admarticles].
- Em [Name], insira um nome de usuário. Vários usuários podem estar associados ao mesmo login. Portanto, em MSDE, a criação de um usuário passa primeiro pela criação de um login. O painel [User] fica da seguinte forma:

- Passemos agora ao painel [Member Of], que nos permitirá definir os direitos do nosso usuário:

- Não sou um usuário habitual do MSDE e desconheço o significado exato de cada uma das funções propostas na janela à esquerda. A função [db_owner] é tentadora (owner = proprietário). Portanto, vamos selecioná-la para o nosso usuário [admarticles]:

- confirmamos nossas escolhas clicando no botão [Compile] acima. As consultas SQL apresentadas na execução são as seguintes:

- nós as compilamos por meio de [OK]. Agora temos um usuário do banco de dados [dbarticles]:

- Vamos criar agora uma tabela. Clique com o botão direito do mouse em [Tables] e selecione a opção [New Table]. Aparecerá a janela de definição das propriedades da tabela:

- Vamos começar atribuindo o nome [ARTICLES] à tabela, utilizando o campo de entrada [Table Name]. Em seguida, passemos para o painel [Fields]:

- definamos os seguintes campos:

Enquanto não tivermos “compilado” nossa definição, a tabela não será criada. Vamos usar o botão [Compile] acima para concluir a definição da tabela. O [MS SQL Manager] prepara as consultas SQL para a geração da tabela e solicita confirmação:

Curiosamente, o [MS SQL Manager] exibe as consultas SQL que foram executadas. Isso permite o aprendizado da linguagem Transact-SQL. O botão [Commit] permite confirmar a transação em andamento, enquanto o [Rollback] permite cancelá-la. Aqui, aceitamos a transação por meio de [Commit]. Feito isso, [MS SQL Manager] adiciona a tabela criada à estrutura da nossa base de dados:

Ao clicar duas vezes na tabela, temos acesso às suas propriedades:

O painel [Checks] permite adicionar novas restrições de integridade à tabela. Para a tabela [ARTICLES], vamos criar as seguintes restrições:
- os campos [ID, PRIX, STOCKACTUEL, STOKMINIMUM] devem ser >=0
- o campo [NOM] deve ser diferente de vazio
No painel [Checks], clique com o botão direito do mouse na área em branco para adicionar uma nova restrição [New check]:

- A tela de edição das restrições se apresenta da seguinte forma:

Name: nome da restrição
Tabela: tabela na qual a restrição é aplicada
Definição: expressão da restrição
A restrição é compilada pelo botão [Compile] acima.
- Mais uma vez, o [MS SQL Manager] apresenta os comandos SQL executados:

- elas são validadas com o botão [Commit] (não representado). Se voltarmos ao painel [Checks] da tabela [ARTICLES], a nova restrição aparece:

- Definimos da mesma forma as demais restrições para obter, por fim, a seguinte lista:

Feito isso, abramos o painel [DDL] da tabela [ARTICLES]:

Esse painel fornece o código Transact-SQL para a geração da tabela com todas as suas restrições. É possível salvar esse código em um script para executá-lo posteriormente:
CREATE TABLE [ARTICLES] (
[id] int NOT NULL,
[nom] varchar(20) COLLATE French_CI_AS NOT NULL,
[prix] float(53) NOT NULL,
[stockactuel] int NOT NULL,
[stockminimum] int NOT NULL,
CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
PRIMARY KEY ([id]),
CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO
Agora é hora de inserir alguns dados na tabela [ARTICLES]. Para isso, vamos usar seu painel [Data]:

O botão [+] permite adicionar uma linha, enquanto o botão [-] permite excluí-la. Os dados são inseridos simplesmente digitando-os nos campos de cada linha da tabela. Uma linha é validada pelo botão [Post Edit] abaixo:
![]()
Vamos criar dois itens:

O [MS SQL Manager] permite emitir consultas SQL por meio da opção [Tools/Show SQL Editor] ou [F12]. Assim, temos acesso a um editor avançado de consultas SQL, com o qual é possível executar consultas. Elas são armazenadas, permitindo que se retorne a uma consulta já executada. Veja um exemplo:

Executamos a consulta SQL usando o botão [Execute] acima. Obtemos o seguinte resultado:

Vamos encerrar nossas demonstrações por aqui. O par [MS SQL Manager - MSDE], assim como o par [IBExpert - Firebird], também se mostra excelente para o aprendizado de bancos de dados.
3.15. Criar uma fonte ODBC [MSDE]
O driver ODBC para o SQL Server normalmente vem instalado por padrão nos computadores com Windows.
- Executar a ferramenta [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC]:

- aparece a seguinte janela:

- Adicionemos [Add] como uma nova fonte de dados do sistema (painel [System DSN]), que associaremos ao banco de dados MSDE que criamos no parágrafo anterior:

- primeiro, precisamos especificar o driver ODBC a ser utilizado. Acima, escolhemos o driver para [SQL Server] e, em seguida, selecionamos [Terminer]. O assistente do driver ODBC de [SQL Server] assume então o controle:

- preenchemos os diversos campos:
o nome da fonte ODBC — pode ser qualquer um | |
pode ser qualquer um | |
nome do servidor MSDE que contém os dados da fonte ODBC |
- criamos o [Suivant] para fornecer novas informações:

- preenchemos os diversos campos:
indicamos que nos conectaremos à fonte de dados ODBC com um nome de usuário registrado no servidor MSDE | |
login do usuário | |
senha do usuário |
- Observe que estamos utilizando pela primeira vez o usuário (admarticles, mdparticles) criado em um parágrafo anterior. Novamente, executamos o comando [Suivant] para obter a seguinte nova planilha:

- Preenchemos os diversos campos:
Selecionamos a base [dbarticles] como base padrão para o usuário [admarticles] |
- executamos [Suivant] para obter a seguinte nova planilha:

- Aceitamos os valores padrão e geramos [Terminer]. É apresentado um resumo das características da fonte ODBC que será criada:

- O botão [Tester la source de données] nos permite verificar a validade das nossas informações. Verifique se o MSDE foi iniciado e, em seguida, teste a conexão:

- Agora temos certeza de que o par [admarticles, mdparticles] é reconhecido.
Para testes adicionais, o leitor poderá seguir o procedimento explicado no parágrafo 3.10.
3.16. Cadeia de conexão a um banco de dados MSDE
- Inicie o Visual Studio e solicite a exibição do explorador de servidores [Affichage/Explorateur de serveurs]:
![]() |
- clique com o botão direito do mouse em [Connexion de données] e selecione a opção [Ajouter une connexion]:

- no painel [Provider], indique que deseja usar uma fonte SQL Server e, em seguida, passe para o painel [Connection]. Observe que, neste caso, não se utiliza um driver ODBC.

nome do servidor MSDE ao qual se conecta | |
identificador a ser usado para se conectar ao banco de dados | |
a senha associada a esse identificador | |
o banco de dados com o qual se deseja trabalhar |
Um botão [Tester la connexion] permite verificar a validade das informações:

- confirme o assistente com [OK]. Curiosamente, uma nova janela solicita as características da conexão:

- reintroduzimos essas informações e executamos o [OK]. A fonte de dados aparece então na janela [Explorateur de serveurs] do Visual Studio:

- Ao clicar duas vezes na tabela [ARTICLES], temos acesso aos dados da tabela:

- Se clicarmos com o botão direito do mouse no link [portable1_tahe\msde140405.dbarticles.admarticles] do painel [Explorateur de serveurs] e selecionarmos a opção [Propriétés], teremos acesso às propriedades da conexão:

- A string de conexão [ConnectString] é uma propriedade interessante de se conhecer, pois o código .NET precisa dela para estabelecer uma conexão com o banco de dados. Aqui, essa string de conexão é:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False
Muitos elementos dessa cadeia de conexão possuem valores padrão. Podemos nos contentar com a seguinte cadeia de conexão:






























