Como configurar origens de dados de ODBC quando distribuir aplicações

Traduções de Artigos Traduções de Artigos
Artigo: 123008 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo aborda os seguintes quatro métodos para configurar uma origem de dados ODBC num computador:
  • Configuração de ODBC
  • RegisterDatabase
  • API DE ODBC
  • Ficheiros de cópia de INI invisuais

Mais Informação

Ficheiros necessários

Os seguintes ficheiros devem ser distribuídos com a aplicação se utilizar ODBC. Quando utilizar o Assistente para criar discos de distribuição, certifique-se de que os ficheiros necessários estão incluídos na lista de ficheiros. Todos os ficheiros listados deverão ser instalados no directório \WINDOWS\SYSTEM.

Ficheiros 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 DSN obter informação para ODBC.ini e ODBCINST.INI

Os ficheiros .ini armazenam informações sobre os controladores ODBC e origens de dados de ODBC. Como resultado, são variáveis--um utilizador poderá já ter os instalado no directório \WINDOWS. Se um programador blindly copiar ODBC.ini e ODBCINST.INI para o computador do utilizador, os novos ficheiros poderão substituir origens de dados existente.

Seguem-se quatro métodos que pode utilizar para obter informações de DSN do utilizador ODBC.ini e ODBCINST.INI ficheiros.

Configuração de ODBC

Para instalar um controlador de ODBC e estabelecer uma origem de dados ODBC, documentação de ajuda online do Visual Basic recomenda que copie o conteúdo completo do directório \VB\ODBC para um disco de distribuição adicionais.

Como programador, pode especificar que o disco ser inserido e execute o Setup.exe a partir de disquete. Além disso, pode pedir ao utilizador que insira a disquete ODBC e, em seguida, utilize o comando da shell do Visual Basic para da shell Setup.exe.

O Assistente de configuração copia e modifica SETUP1.MAK para SETUP1A.MAK durante o processo de criação de discos de distribuição. Cria SETUP1A.MAK para SETUP1.EXE, comprime-o e copia-o para os discos de distribuição. Quando o Setup.exe é executado nos discos de distribuição, os ficheiros SETUP.LST são copiados para o computador de destino. SETUP1.EX_, em seguida, é descomprimido e executado para começar a copiar ficheiros a partir das disquetes do computador de destino.

É possível, em seguida, modificar SETUP1A.MAK, reconstruir SETUP1.EXE, comprimi-lo e copiá-lo para discos de distribuição do. Para garantir que o tamanho de ficheiro comprimido cabem no primeiro disco de distribuição, tem de preencher o projecto com código antes de executar primeiro o Assistente de configuração. Em seguida, pode alterar o código para comentários e adicionar o novo código para solicitar a disquete de configuração de ODBC. O tamanho EXE resultante, em seguida, ainda cabe na primeira disquete de distribuição.

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

Nota : suporte técnico da Microsoft não suporta a modificação do processo de configuração ou de qualquer dos ficheiros de configuração. Suporte é fornecido para o Assistente de configuração e os ficheiros que cria apenas numa base "tal como está".

Eis os passos a seguir:

  1. Inicie o Visual Basic e no menu ' ficheiro ', escolha ' Abrir projecto. Abrir SETUP1.MAK no directório \VB\SETUPKIT\SETUP.
  2. Seleccione SETUP1.FRM a janela do projecto. Prima F7 para visualizar o código.
  3. No fim do Form_Load procedimento adicione o seguinte código o ExitSub: etiqueta parte, após RestoreProgMan e antes a instrução de fim:
          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. Guarde o projecto (ALT, F, V).
  5. Execute o Assistente de configuração e criar discos de distribuição.
Uma vez criados os discos, é necessário ir para Visual Basic, edite SETUP1A.MAK e adicione o código adequado para pedir o ODBC E instalação de disco do programa de configuração. Siga estes passos:

  1. Inicie o Visual Basic.
  2. Abra o projecto SETUP1A.MAK em \VB\SETUPKIT\SETUP1 (ALT, F, O).
  3. Escolha SETUP1A.FRM e prima F7 para visualizar o código.
  4. No procedimento Form_Load, coloque um apóstrofo em frente de cada linha do código fictícia que foi anteriormente inserido como um marcador de posição:
          '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 no procedimento de Form_Load imediatamente a seguir o código de comentário:
          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 superior ao número total de discos de distribuição criada. O número de disco é o primeiro parâmetro para o procedimento PromptForNextDisk. Neste exemplo, o disco seguinte para pedir é 2.
  7. Guardar o projecto SETUP1A.MAK e crie o ficheiro executável como SETUP1.EXE no directório \VB\SETUPKIT\SETUP1 (ALT, F, K).
  8. Da shell uma linha de comandos do MS-DOS e altere o directório para \VB\SETUPKIT\SETUP1. Execute o seguinte na linha de comandos:
    SETUP1.EXE \VB\SETUPKIT\KITFILES\COMPRESS - r
  9. Coloque a primeira disquete de distribuição na unidade adequada e copiar SETUP1.EX_ para a disquete:
    Copiar SETUP1.EX_ A:\SETUP1.EX_
Agora, quando os discos de distribuição são executados, o passo final será pedir o disco de instalação e configuração de ODBC. Setup.exe será executado a partir deste disco e o utilizador pode, em seguida, instale o controlador ODBC adequado e criar a origem de dados necessário. Deverá incluir instruções para este processo.

Para mais informações sobre como modificar SETUP1.EXE consulte capítulo 25, "Distribuir a aplicação" no ' Manual ' do Microsoft Visual Basic Programmer.

RegisterDatabase

Visual Basic fornece a instrução de RegisterDatabase para ajudar na instalação de origens de dados ODBC, não controladores. A instrução de RegisterDatabase assume que ODBCINST.INI e ODBCINST.DLL já existem no computador. Ou seja, devem ser instalados os controladores antes de executar RegisterDatabase. Neste caso, o programador pode utilizar RegisterDatabase para adicionar ou actualizar uma entrada de ODBC.ini.

O problema com este método é que se o computador cliente não tiver ODBC instalado no computador, a DLL e ODBCINST.INI não existe. Além disso, se o controlador ODBC de novo para o computador, não existirá uma entrada para o mesmo na ODBCINST.INI, modo RegisterDatabase falhará, em seguida, bem.

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

Descrição :
Torna ligar informações de um ODBC dados nome de origem disponível para utilização por função OpenDatabase.
sintaxe :
Dsn de RegisterDatabase, controlador, silenciosa, atributos
Observações : RegisterDatabase A instrução tem as seguintes partes:

  • DSN : uma expressão de cadeia que é um nome utilizado no OpenDatabase funcionar e refere-se um bloco de informações descritivas sobre a origem de dados. Por exemplo, se a origem de dados for uma base de dados remoto do ODBC, seria o nome do servidor.
  • DRIVER : expressão de cadeia que é o nome do controlador de ODBC. Não é o nome do ficheiro DLL do controlador ODBC. Por exemplo, "SQL Server" ou "Oracle" nome do controlador são mas "SQLSRVR.DLL" é o nome de um ficheiro DLL. Tem de ter ODBC e o controlador adequado já instalado.
  • SILENCIOSO : uma expressão numérica que é VERDADEIRO se não pretender mostrar o controlador ODBC diálogos que pedem informações específicas do controlador ou FALSE se pretender Mostrar diálogos de controlador de ODBC. Se silencioso for VERDADEIRO, atributos devem conter todas as informações específicas do controlador necessárias ou a caixa de diálogo aparecerá na mesma.
  • ATTRIBUTES : cadeia de expressão que é uma lista de palavras-chave a ser adicionado ao ficheiro ODBC.ini. As palavras-chave estão numa cadeia delimitada por símbolo de retorno.
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 a base de dados já está registado no ficheiro ODBC.ini, a entrada é actualizada. Se RegisterDatabase falhar por qualquer motivo, não são efectuadas alterações no ficheiro ODBC.ini e ocorre um erro.

API DE ODBC

Isto é, provavelmente, o método mais flexível e eficiente, mas a maior parte dos programadores não estiver familiarizados com o mesmo e não são necessário o SDK do ODBC que documenta a API. Os programadores devem obter o Microsoft Software Development Kit (SDK) e "do programador do Microsoft ODBC 2.0 referência SDK manual e" da Microsoft Press.

Copiar INI

Se o programador certos de que um ODBC.ini e ODBCINST.INI não existem no computador de instalação, podem simplesmente copiar os ficheiros. No entanto, o programador deve assegurar que os caminhos para os controladores são correctos; caminhos são totalmente qualificados nos ficheiros .ini. Por exemplo, o ficheiro ODBC.ini irá especificar C:\WINDOWS\SYSTEM\SQLSRVR.DLL como o controlador para o SQL Server, para que se estiver a configuração do Windows do utilizador ser \WIN31, o caminho não funcionem.

Propriedades

Artigo: 123008 - Última revisão: 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 16-bit Enterprise Edition
  • Microsoft Visual Basic 4.0 32-Bit 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 123008
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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