Como configurar fontes de dados ODBC ao distribuir aplicativos

Traduções deste artigo Traduções deste artigo
ID do artigo: 123008 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve os quatro métodos para configurar uma fonte de dados ODBC em um computador a seguir:
  • Configurar ODBC
  • RegisterDatabase
  • API DE ODBC
  • Arquivos de cópia de INI cegos

Mais Informações

Arquivos necessários

Os seguintes arquivos devem ser distribuídos com o seu aplicativo se você usar o ODBC. Quando usando o Assistente para configuração para criar discos de distribuição, certifique-se de que os arquivos necessários são incluídos na lista de arquivos. Todos os arquivos listados devem ser instalados no diretório \WINDOWS\SYSTEM.

Arquivos opcionais (SQL Server ou Oracle) são indicados com um asterisco.
File                  Description
----------------------------------------------------------------------
ODBC.DLL              The ODBC Driver Manager. This DLL is called by the
                      Microsoft Jet database engine when performing ODBC
                      operations. The Driver Manager handles loading the
                      correct ODBC driver and dispatching ODBC function
                      calls to the driver.

ODBCINST.DLL          The ODBC Driver Installation library. This DLL
                      contains Driver installation specific functions.
                      The ODBC Administrator (ODBCADM.EXE) calls functions
                      exported from this DLL when installing ODBC
                      drivers. You may also call functions in this DLL
                      to automate driver installation.

ODBCADM.EXE           The ODBC Administrator program. This program
                      allows a user to install ODBC drivers and
                      set up or modify Data Sources.

ODBCINST.HLP          The ODBC Administrator help file.

COMMDLG.DLL           The Common Dialog DLL. This DLL is used by the
                      ODBC Administrator program.

CTL3D.DLL             The 3D Control DLL. This DLL is used by the ODBC
                      Administrator program. If you are using ODBC.DLL
                      version 1.05 or greater, you need to distribute
                      CTL3DV2.DLL.

PDSODBC.DLL           Crystal Reports Physical Server DLL for ODBC. This
                      DLL is required only if your application uses Crystal
                      Reports to access an ODBC data source.

<driver>.DLL          The ODBC driver(s) that the application will use
                      to connect to specific Data Sources.

                      SQL Server:  SQLSRVR.DLL*
                      Oracle 6:    SQORA.DLL*

<netlib>.DLL          The network library file(s). This file is used
                      to access the Data Source when using a specific
                      network protocol.

                      Named Pipes: DBNMP3.DLL*
                      TCP/IP (Sybase SQL Server): WDBNOVTC.DLL*
                      IPX/SPX (Sybase SQL Server): WDBNOVSP.DLL*
                      SQL*Net Interface: ORA6WIN.DLL*

INSTCAT.SQL*          SQL Server Catalog Stored Procedures script.

DRVSSRVR.HLP*         SQL Server ODBC Driver help file.

ORASETUP.DLL*         Oracle ODBC Driver setup functions.

DRVORACL.HLP*         Oracle ODBC Driver help file.

ORACLE.TXT*           Oracle ODBC Setup "read me" file.

ODBC.INI              Initialization file containing information
                      about specific Data Sources. The DSN parameter
                      in the Connect property of the data control or
                      the OpenDatabase statement corresponds to an
                      entry in the ODBC.INI. This file must also be
                      created or modified on the client computer.

ODBCINST.INI          The Initialization file that contains
                      information about installed ODBC drivers. The
                      RegisterDatabase statement and ODBC Administrator
                      use the information contained in this file to
                      set up Data Sources. Entries in ODBCINST.INI
                      are created either by running an ODBC driver
                      setup or through the ODBC API. This file must
                      also be either created or modified on the client
                      computer.

Quatro métodos para obter DSN informações em ODBC.ini e ODBCINST.INI

Os arquivos .ini armazenam informações sobre as fontes de dados ODBC e drivers ODBC. Como resultado, eles são variável--um usuário pode já tê-los instalado no diretório \Windows. Se um desenvolvedor cegamente copiar ODBC.ini e ODBCINST.INI para o computador do usuário, os novos arquivos podem substituir fontes de dados existente.

Abaixo estão os quatro métodos que você pode usar para obter informações do DSN do usuário ODBC.ini e ODBCINST.INI arquivos.

Configurar ODBC

Para instalar um driver de ODBC e estabelecer uma fonte de dados ODBC, a documentação de Ajuda online do Visual Basic recomenda que você copie o conteúdo inteiro da pasta \VB\ODBC para um disco de distribuição adicionais.

Como desenvolvedor, você pode especificar que o disco ser inserido e execute Setup.exe partir o disquete. Além disso, você pode solicitar que o usuário insira o disquete ODBC e, em seguida, use o comando shell do Visual Basic para shell check-out para Setup.exe.

O Assistente de instalação copia e modifica SETUP1.MAK em SETUP1A.MAK durante o processo de criação de discos de distribuição. Ele cria SETUP1A.MAK no SETUP1.EXE, compacta e copia os discos de distribuição. Quando o Setup.exe é executado nos discos de distribuição, os arquivos em SETUP.LST são copiados para o computador de destino. SETUP1.EX_, em seguida, é descompactado e executado para começar a copiar arquivos a partir dos disquetes para o computador de destino.

É possível, em seguida, modificar SETUP1A.MAK, recriar SETUP1.EXE, compactá-lo e copiá-lo para os discos de distribuição. Para garantir que o tamanho do arquivo compactado caberá no primeiro disco de distribuição, você deve completar o projeto com código prior to primeiro executar o Setup Wizard. Em seguida, você pode alterar o código em comentários e adicionar o novo código para solicitar o disco de instalação do ODBC. O tamanho EXE resultante, em seguida, ainda irá caber no primeiro disquete de distribuição.

Modificar SETUP1.FRM no diretório \VB\SETUPKIT\SETUP1 para adicionar o código necessário para preencher o executável. Este arquivo é copiado para SETUP1A.MAK durante a execução do Assistente de instalação.

Observação : suporte técnico da Microsoft não oferece suporte a modificação do processo de instalação ou de qualquer os arquivos de instalação. Suporte é fornecido para o Assistente para configuração e os arquivos que ele cria em uma base "como estão" somente.

Aqui estão as etapas a seguir:

  1. Inicie o Visual Basic e no menu Arquivo, escolha Open Project. Abrir SETUP1.MAK no diretório \VB\SETUPKIT\SETUP.
  2. Selecione SETUP1.FRM na janela de projeto. Pressione F7 para exibir o código.
  3. No final do Form_Load procedimento, adicione o código a seguir no ExitSub: Rotular parte, após RestoreProgMan e antes da instrução End:
          Dim tmpK As String
          Dim tmpS As String
          Dim I As Long
          tmpK = "dummy"
          For I = 1 To 1000
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
             tmpS = Mid$(tmpK, 1, 2)
          Next I
  4. Salve projeto (ALT, F, V).
  5. Executar o Assistente para configuração e criar os discos de distribuição.
Depois dos discos foram criados, você precisará vá volta para o Visual Basic, editar SETUP1A.MAK e adicione o código apropriado para solicitar o disco de instalação do ODBC configuração E. Execute as seguintes etapas:

  1. Inicie o Visual Basic.
  2. Abra o projeto SETUP1A.MAK no \VB\SETUPKIT\SETUP1 (ALT, F, O).
  3. Escolha SETUP1A.FRM e pressione F7 para exibir o código.
  4. No procedimento Form_Load, coloque um apóstrofo na frente de cada linha do código fictício que foi inserido anteriormente como um espaço reservado:
          'Dim tmpK As String
          'Dim tmpS As String
          'Dim I As Long
          'tmpK = "dummy"
          'For I = 1 To 1000
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          '   tmpS = Mid$(tmpK, 1, 2)
          'Next I
  5. Adicione o seguinte código dentro do procedimento Form_Load imediatamente após o código comentado:
          x% = MsgBox("Do you want to install the ODBC Drivers?", 36,
             App.title)
          If x% = 6 Then
             If Not PromptForNextDisk(2, SourcePath$ + "ODBCADM.EX_") Then
                GoTo ErrorSetup
             End If
             x% = Shell(SourcePath$ &amp; "setup.exe")
          End If
  6. Altere o número do disco para 1 maior o número total de discos de distribuição criada. O número do disco é o primeiro parâmetro para o procedimento PromptForNextDisk. Neste exemplo, o próximo disco para pedir é 2.
  7. Salvar projeto SETUP1A.MAK e criar o executável como SETUP1.EXE no diretório \VB\SETUPKIT\SETUP1 (ALT, F, K).
  8. Shell check-out para um prompt de comando do MS-DOS e altere o diretório para \VB\SETUPKIT\SETUP1. Execute o seguinte no prompt de comando:
    SETUP1.EXE \VB\SETUPKIT\KITFILES\COMPRESS - r
  9. Coloque o primeiro disquete de distribuição na unidade apropriada e copiar SETUP1.EX_ para o disquete:
    Copiar SETUP1.EX_ A:\SETUP1.EX_
Agora, quando os discos de distribuição são executados, a etapa final será solicitar o disco de instalação e configuração do ODBC. Setup.exe será executado deste disco e o usuário pode instalar o driver ODBC apropriado e criar a fonte de dados necessário. Você deve incluir instruções para esse processo.

Para obter mais informações sobre como modificar SETUP1.EXE consulte Capítulo 25, "Distribuindo o aplicativo" no guia do programador do Microsoft Visual Basic.

RegisterDatabase

Visual Basic fornece a declaração de RegisterDatabase para ajudar na instalação de fontes de dados ODBC, drivers não. A declaração de RegisterDatabase pressupõe que ODBCINST.INI e ODBCINST.DLL já existam no computador. Ou seja, os drivers devem ser instalados antes de executar RegisterDatabase. Nesse caso, o desenvolvedor pode usar RegisterDatabase para adicionar ou atualizar uma entrada no ODBC.ini.

O problema com esse método é que se o computador cliente não tiver ODBC instalado no computador, ODBCINST.INI e DLL não existirá. Além disso, se o driver de ODBC é novo para o computador, não haverá uma entrada para ele no ODBCINST.INI, para que RegisterDatabase falhará, em seguida, também.

A descrição, sintaxe, comentários e exemplo sobre a instrução RegisterDatabase seguinte é proveniente de Ajuda online do Visual Basic:

Descrição :
Torna conecta informações para um ODBC dados nome de fonte disponível para uso, a função OpenDatabase.
sintaxe :
RegisterDatabase dsn, driver, silenciosa, atributos
comentários : RegisterDatabase A instrução possui as partes a seguir:

  • DSN : uma expressão de seqüência de caracteres que é um nome usado no OpenDatabase funcionam e refere-se um bloco de informações descritivas sobre a fonte de dados. Por exemplo, se a fonte de dados é um banco de dados remoto do ODBC, seria o nome do servidor.
  • DRIVER : uma expressão de seqüência de caracteres que é o nome do driver ODBC. Isso não é o nome do arquivo DLL do driver ODBC. Por exemplo, "SQL Server" ou "Oracle" são o nome do driver, mas "SQLSRVR.DLL" é o nome de um arquivo DLL. Você deve ter ODBC e o driver apropriado já instalado.
  • SILENCIOSO : uma expressão numérica que é True se desejar exibir o driver ODBC caixas de diálogo que solicitam informações específicas do driver ou False se você deseja exibir caixas de diálogo da driver ODBC. Se silencioso for True, então atributos devem conter todas as informações específicas do driver necessárias ou a caixa de diálogo será exibida mesmo assim.
  • ATTRIBUTES : seqüência de expressão que é uma lista de palavras-chave a ser adicionado ao arquivo ODBC.ini. As palavras-chave estão em uma seqüência de retorno de carro delimitada.
exemplo :
      Sub Command1_Click ()
         Dim att As String
         Dim mydb As Database

         att = "Description = SQL Server on server Texas" & Chr$(13)
         att = att & "OemToAnsi=No" & Chr$(13)   ' Build keywords string.
         att = att & "Server=TEXAS" & Chr$(13)
         att = att & "Network=DBNMP3" & Chr$(13)
         att = att & "Address=\\TEXAS\PIPE\SQL\QUERY" & Chr$(13)
         att = att & "Database=Pubs" & Chr$(13)
         att = att & "LastUser=Stimpy"

         ' Update ODBC.INI.
         RegisterDatabase "Texas", "SQL Server", True, att

         Set mydb = OpenDatabase("Texas", False, False, "ODBC;")
         mydb.Close

      End Sub
se o banco de dados já está registrado no arquivo ODBC.ini, a entrada é atualizada. Se RegisterDatabase falhar por algum motivo, nenhuma alteração é feitas para o arquivo ODBC.ini e ocorrerá um erro.

API DE ODBC

Esse é provavelmente o método mais flexível e mais eficiente, mas a maioria dos desenvolvedores não estiver familiarizado com ele e não tiver o SDK do ODBC que documenta a API. Os desenvolvedores devem obter o Microsoft Software Development Kit (SDK) e obtenha o "do programador do Microsoft ODBC 2.0 Reference e SDK Guide" da Microsoft Press.

Copiar INI

Se o desenvolvedor for determinado que um ODBC.ini e ODBCINST.INI não existem no computador de instalação, eles poderão simplesmente copiar os arquivos. No entanto, o desenvolvedor deve garantir que os caminhos para os drivers estejam corretos; caminhos são totalmente qualificados nos arquivos de inicialização. Por exemplo, o arquivo ODBC.ini será especificar C:\WINDOWS\SYSTEM\SQLSRVR.DLL como o driver para o SQL Server, por isso, se a instalação do Windows do usuário estiver em \WIN31, o caminho não funciona.

Propriedades

ID do artigo: 123008 - Última revisão: terça-feira, 13 de julho de 2004 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 de 16 bits Enterprise Edition
  • Microsoft Visual Basic 4.0 de 32 Bits Enterprise Edition
  • Microsoft Visual Basic 3.0 Professional Edition
Palavras-chave: 
kbmt kbdatabase kbhowto KB123008 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 123008
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com