Einrichten von ODBC-Datenquellen beim Verteilen von Anwendungen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 123008 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel behandelt die folgenden vier Methoden für das Einrichten einer ODBC-Datenquelle auf einem Computer:
  • ODBC-Setup
  • RegisterDatabase
  • ODBC-API
  • Blind Copy der INI-Dateien

Weitere Informationen

Erforderliche Dateien

Wenn Sie ODBC verwenden, müssen die folgenden Dateien mit Ihrer Anwendung verteilt werden. Wenn Sie den Setup-Assistenten verwenden, um Verteilung Disketten zu erstellen, stellen Sie sicher, dass die erforderlichen Dateien in der Liste enthalten sind. Alle aufgeführten Dateien sollten im Verzeichnis \WINDOWS\SYSTEM installiert.

Optionale Dateien (SQL Server oder Oracle) sind mit einem Sternchen () gekennzeichnet.
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.

Vier Methoden zum Abrufen DSN-Informationen in ODBC.ini und Odbcinst.ini

Die INI-Dateien speichern Informationen über ODBC-Treiber und der ODBC-Datenquellen. Als Ergebnis sind Variablen,--ein Benutzer kann bereits verfügen, diese im Verzeichnis \Windows installiert. Wenn ein Entwickler Blind ODBC.ini und Odbcinst.ini auf dem Computer des Benutzers kopieren, überschreibt die neuen Dateien möglicherweise vorhandenen Datenquellen.

Unten stehen vier Methoden für das DSN-Informationen in ODBC.ini und Odbcinst.ini Dateien des Benutzers zu erhalten.

ODBC-Setup

Empfiehlt, um eine ODBC-Treiber installieren und Einrichten einer ODBC-Datenquelle, der VBA-Onlinehilfe, den gesamten Inhalt des Verzeichnisses \VB\ODBC auf einem Datenträger zusätzlichen Verteilung zu kopieren.

Als Entwickler Sie können angeben, dass der Datenträger eingelegt werden, und führen Sie Setup.exe von der Diskette. Darüber hinaus können Sie der Benutzer aufgefordert, die ODBC-Diskette einzulegen, und verwenden Sie den Visual Basic-Shell-Befehl um um Setup.exe shell out.

Der Setup-Assistent kopiert und SETUP1.MAK in SETUP1A.MAK ändert, während der Originaldatenträger erstellen. SETUP1A.MAK in SETUP1.EXE erstellt, es komprimiert und kopiert ihn in den Originaldatenträger. Wenn Setup.exe auf den Datenträgern Verteilung ausgeführt wird, werden die Dateien in Setup.lst auf den Zielcomputer kopiert. SETUP1.EX_ wird dann dekomprimiert und zum Kopieren von Dateien von der Diskette auf dem Zielcomputer ausgeführt.

Es ist möglich, dann ändern SETUP1A.MAK, SETUP1.EXE Neuerstellung, komprimieren und auf den Datenträgern Verteilung zu kopieren. Um sicherzustellen, dass die Größe der komprimierten Datei auf der ersten Verteilung Diskette passt, müssen Sie das Projekt mit Code vor dem ersten Ausführen des Setup-Assistenten auffüllen. Dann können Sie den Code in Kommentaren ändern und Hinzufügen von neuen Code, um die ODBC-Setup-Diskette aufgefordert. Die resultierende EXE-Größe wird dann immer noch auf die erste Diskette Verteilung passen.

Ändern Sie SETUP1.FRM im Verzeichnis \VB\SETUPKIT\SETUP1, um den erforderlichen Code zum Auffüllen der ausführbaren Datei hinzufügen. Diese Datei wird während der Ausführung des Setup-Assistenten in SETUP1A.MAK kopiert.

Hinweis : die Änderung des Setup-Vorgangs oder eines der Setup-Dateien von technischen Support von Microsoft nicht unterstützt. Unterstützung wird für den Setup-Assistenten und die Dateien auf nur einer Basis "wie besehen erstellt" bereitgestellt.

Hier sind die Schritte befolgen:

  1. Starten Sie Visual Basic und wählen Sie im Menü Datei die Option Projekt. Öffnen Sie SETUP1.MAK im Verzeichnis \VB\SETUPKIT\SETUP.
  2. Wählen Sie SETUP1.FRM aus dem Projektfenster. Drücken Sie F7, um den Code anzuzeigen.
  3. Am Ende der Form_Load fügen Prozedur den folgenden Code in der ExitSub: Teil, beschriften Sie nach RestoreProgMan und vor der End-Anweisung:
          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. Speichern Sie das Projekt (ALT, F, A).
  5. Führen Sie den Setup-Assistenten, und erstellen Sie die Verteilung Datenträger.
Nachdem der Datenträger erstellt wurden, müssen Sie gehen zurück in Visual Basic bearbeiten SETUP1A.MAK, und fügen Sie entsprechenden Code zum Installationsdatenträger für die ODBC-Setup und anfordern. angezeigt wird, gehen Sie folgendermaßen vor:

  1. Starten Sie Visual Basic.
  2. Öffnen Sie das SETUP1A.MAK-Projekt in \VB\SETUPKIT\SETUP1 (ALT, F, O).
  3. Wählen Sie SETUP1A.FRM, und klicken Sie F7, um den Code anzeigen.
  4. Der Form_Load-Prozedur versehen einen Apostroph vor der Zeile dummy Code, der zuvor als ein Platzhalter eingefügt wurde:
          '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. Fügen Sie folgenden Code innerhalb der unmittelbar folgenden kommentierten Code Form_Load-Prozedur:
          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. Ändern Sie die Datenträger-Anzahl um 1 größer als die gesamte Anzahl Originaldatenträger erstellt. Die Datenträgernummer ist der erste Parameter an die Prozedur PromptForNextDisk. In diesem Beispiel ist der nächste Datenträger an, zur Eingabe aufgefordert 2.
  7. Speichern Sie das Projekt SETUP1A.MAK, und Erstellen der ausführbaren Datei wie SETUP1.EXE in das Verzeichnis \VB\SETUPKIT\SETUP1 (ALT, F, K).
  8. Shell out an einer MS-DOS-Eingabeaufforderung, und Ändern des Verzeichnisses in \VB\SETUPKIT\SETUP1. Führen Sie Folgendes an der Eingabeaufforderung aus:
    SETUP1.EXE \VB\SETUPKIT\KITFILES\COMPRESS - R
  9. Legen Sie die ersten Verteilung-Diskette in das entsprechende Laufwerk und kopieren Sie SETUP1.EX_ auf die Diskette:
    SETUP1.EX_ A:\SETUP1.EX_ kopieren
Jetzt, wenn die Installationsdatenträger ausgeführt werden, den endgültigen Schritt werden der Datenträger ODBC Setup und Installation aufgefordert. Setup.exe wird von diesem Datenträger ausgeführt werden und der Benutzer kann dann installieren Sie den entsprechenden ODBC-Treiber und erforderliche Datenquelle erstellen. Sie sollten die Anweisungen für diesen Prozess einbeziehen.

Weitere Informationen zum Ändern von SETUP1.EXE finden Sie in Kapitel 25, "Verteilung der Anwendung" in Microsoft Visual Basic Programmer's Guide.

RegisterDatabase

Visual Basic stellt die RegisterDatabase-Anweisung Hilfe in ODBC-Datenquellen nicht Treiber installieren. RegisterDatabase-Anweisung wird davon ausgegangen, dass Odbcinst.ini und ODBCINST.DLL bereits auf dem Computer vorhanden sind. Müssen der Treiber vor dem Ausführen der RegisterDatabase installiert werden. Wenn dies der Fall ist, kann der Entwickler RegisterDatabase verwenden, hinzugefügt oder aktualisiert einen Eintrag in der ODBC.ini.

Das Problem mit dieser Methode ist, dass der Clientcomputer keinen ODBC auf dem Computer installiert, die Odbcinst.ini und die DLL nicht vorhanden ist. Außerdem ist der ODBC-Treiber auf den Computer neu, mehr kein Eintrag für ihn in Odbcinst.ini, damit RegisterDatabase auch dann fehl.

Die folgende Beschreibung, Syntax, Hinweise und Beispiel zur RegisterDatabase-Anweisung stammen aus der VBA-Onlinehilfe:

Beschreibung :
Macht verbinden Informationen für ein ODBC-Datenquellenname verfügbar für die Verwendung der OpenDatabase-Funktion.
Syntax :
RegisterDatabase-Dsn, Treiber, automatische, Attribute
Beschreibung : der RegisterDatabase-Anweisung besteht aus folgenden Teilen:

  • DSN : ein Zeichenfolgenausdruck, der ein in die OpenDatabase verwendeten Namen Funktion und einen Block mit beschreibenden Informationen über die Datenquelle verweist. Beispielsweise, wenn die Datenquelle eine ODBC-remote-Datenbank ist, wäre es den Namen des Servers.
  • DRIVER : ein Zeichenfolgenausdruck, der den Namen des ODBC-Treiber. Dies ist nicht der Name der ODBC-Treiber DLL-Datei. Beispielsweise "SQL Server" oder "Oracle" werden Treibername, aber "SQLSRVR.DLL" ist der Name einer DLL-Datei. Sie benötigen, ODBC und der entsprechende Treiber bereits installiert.
  • Automatische : ein numerischer Ausdruck, True wenn Sie nicht möchten, den ODBC-Treiber angezeigt dialogs die Eingabeaufforderung für treiberspezifische Informationen oder False, wenn die ODBC-Treiber-Dialogfelder angezeigt werden soll. Wenn silent ist WAHR, dann Attribute alle erforderliche Treiber-spezifische Informationen enthalten müssen oder das Dialogfeld wird trotzdem angezeigt.
  • ATTRIBUTES : String-Ausdruck, der eine Liste der Schlüsselwörter Datei ODBC.ini hinzugefügt werden. Die Schlüsselwörter sind in einer durch Trennzeichen getrennte Zeichenfolge Wagenrücklauf.
Beispiel :
      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
Falls die Datenbank bereits in der Datei ODBC.ini registriert ist, wird der Eintrag aktualisiert. Wenn RegisterDatabase aus irgendeinem Grund fehlschlägt, werden keine Änderungen an der Datei ODBC.ini vorgenommen und es tritt ein Fehler auf.

ODBC-API

Dies ist wahrscheinlich die flexibelste und effizienteste Methode, aber die meisten Entwickler sind nicht mit vertraut und verfügen nicht über das ODBC SDK die Dokumente der API. Entwickler sollten erhalten Microsoft Software Development Kit (SDK) und erhalten das "Microsoft ODBC 2.0 Programmer's Reference and SDK Guide" von Microsoft Press.

Ini-kopieren

Wenn der Entwickler bestimmte ist, dass ein ODBC.ini und Odbcinst.ini nicht auf dem Installationscomputer vorhanden sind, können Sie einfach die Dateien kopieren. Der Entwickler muss sicherzustellen, dass die Pfade zu den Treibern korrekt sind jedoch Pfade sind vollqualifizierten in die INI-Dateien. Beispielsweise die Datei ODBC.ini wird angeben C:\WINDOWS\SYSTEM\SQLSRVR.DLL wie der Treiber für SQL Server, wenn der Benutzer Windows Setup in \WIN31 ist, der Pfad arbeiten wird nicht.

Eigenschaften

Artikel-ID: 123008 - Geändert am: Dienstag, 13. Juli 2004 - Version: 1.2
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbdatabase kbhowto KB123008 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 123008
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

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