Access
 sql >> Datenbank >  >> RDS >> Access

Parameter der Verbindungszeichenfolge für Schema.ini

Verbindungszeichenfolgenparameter für Schema.ini

Erstellen einer schema.ini Das Öffnen oder Verknüpfen von Textdateien aus Access ist eine von zwei möglichen Methoden, die verwendet werden können, um mit Daten zu arbeiten, die in den Dateien von Access enthalten sind. Im vorherigen Artikel haben wir uns die Parameter der Verbindungszeichenfolge der Textdatei angesehen. Wir haben auch die Notwendigkeit diskutiert, zusätzliche Schemainformationen zu haben, um Access beim Analysieren der Textdateien zu helfen. Microsoft hat eine Seite über die schema.ini , aber es gibt einige Dinge, die nicht sofort klar sind, also werden wir sie hier behandeln.

schema.ini Datei

Jeder Ordner kann eine einzelne Datei mit dem Namen schema.ini enthalten für wo wir alle möglichen Formate von Textdateien definieren können, die wir innerhalb des Ordners erwarten. Für jede Textdatei müssen wir einen Abschnitt mit dem Dateinamen beginnen und dann die Struktur beschreiben. Wir beginnen mit einem minimalen Probenabschnitt und analysieren dann jedes Teil. Es ist nicht erforderlich, alle Textdateien aufzuzählen. Alle Textdateien, die nicht von der schema.ini beschrieben werden wird einfach mit der Standardeinstellung zum Besseren oder Schlechteren gehandhabt. Schauen wir uns die Struktur der schema.ini an .

[products.txt]

Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0

Col1=Products Text
Col2=Count Long

Beachten Sie, dass die erste Zeile zum Starten eines Abschnitts auf eine Textdatei verweisen muss. Es muss auch Klammern haben, um den Anfang des Abschnitts anzuzeigen. Wie Sie vielleicht schon wissen, eine schema.ini kann mehr als eine Textdatei beschreiben, daher hilft die Zeile in Klammern dabei, das Schema jeder Textdatei getrennt zu halten.

Die nächsten Zeilen behandeln das Gesamtformat der Datei und wie Access die Textdateien verarbeiten soll. Wir können angeben, ob eine Textdatei Kopfzeilen hat, wie viele Zeilen gescannt werden sollen, welche Codepage verwendet werden soll und so weiter.

Der letzte Zeilensatz beschreibt die einzelnen Spalten, deren Name, Datentyp und Breite.

Wir werden die gültigen Optionen und möglichen Werte für diese 2 Sätze überprüfen.

Optionen zur Beschreibung der Gesamtstruktur der Textdatei

Sie sehen eine Liste gültiger Optionen, die verfügbar sind, um das Gesamtformat der Textdatei zu beschreiben. Es ist üblich, mindestens das Format anzugeben und ColNameHeader aber alle möglichen Inhalte sind optional. Wenn sie ausgelassen werden, werden die Standardwerte wie unten angegeben verwendet. Schauen wir uns an, wie wir das Format einer bestimmten Textdatei beschreiben können.

Allgemeine Strukturoptionen

Wie bereits erwähnt, sind diese optional, werden jedoch selten weggelassen. Nichtsdestotrotz stammen die Standardwerte aus den Registrierungsschlüsseln der Text-Engine. Weitere Details zu den Registrierungsschlüsseln finden Sie hier.

  • Format :Gibt das Format der Textdateien an. Wenn weggelassen, wird der Registrierungsschlüssel der Text-Engine, Format, verwendet . Gültige Werte sind:
    • TabDelimited :Tabulatoren trennen die Spalten.
    • CSVDelimited :Kommas trennen die Spalten wie eine CSV-Datei.
    • Delimited(*) :Ein einzelnes Zeichen trennt die Spalten. Kann ein beliebiges Zeichen außer " sein Charakter. Beispielsweise eine durch | getrennte Textdatei Zeichen sollte Format=Delimited(|) melden .
    • FixedLength :Die Spalten haben eine feste Länge; der Inhalt sollte entsprechend aufgefüllt werden. Alle Spalten müssen eine definierte Breite haben.

  • CharacterSet :Verwendet eine bestimmte Codepage, um die Textdatei zu lesen. Mögliche Werte können ANSI sein , OEM , Unicode oder beliebige numerische Werte, die die gewünschten Codepages darstellen. Um alle möglichen Codepages zu finden, die auf Ihrem Windows-Computer unterstützt werden, suchen Sie im Registrierungsschlüssel Computer\HKEY_CLASSES_ROOT\MIME\Database\Codepage\ . Wenn Sie beispielsweise die utf-8-Codierung verwenden möchten, können Sie CharacterSet=65001 angeben .
  • ColNameHeader :Gibt an, ob die erste Zeile die Spaltennamen enthält. Wenn weggelassen, wird der Registrierungsschlüssel der Text-Engine verwendet, FirstRowHasNames . Werte können entweder True sein oder False .
  • MaxScanRows :Anzahl der Zeilen Access sollte eine Textdatei scannen, um den möglichen Datentyp zu erraten. Wenn der Wert 0 ist, scannt Access die gesamte Datei. Der Registrierungsschlüssel der Text-Engine MaxScanRows wird verwendet, wenn es weggelassen wird.

Lokalisierungsoptionen

Diese Optionen befassen sich hauptsächlich mit der Lokalisierung der in Datum, Uhrzeit oder Währung codierten Daten. Alle diese Optionen sind optional und wenn sie weggelassen werden, werden die Regionseinstellungen von Windows verwendet.

  • DateTimeFormat :Das zu verwendende Datums-/Uhrzeitformat.
  • DecimalSymbol :Jedes einzelne Zeichen, das als Trennzeichen zwischen ganzen und gebrochenen Teilen einer Zahl verwendet wird.
  • NumberDigits :Anzahl der Ziffern, die im Bruchteil einer Zahl verwendet werden.
  • NumberLeadingZeroes :Gibt an, ob es eine führende Null für Zahlen größer als -1 und kleiner als 1 geben soll. Sollte entweder True sein oder False .
  • CurrencySymbol :Identifiziert das als Währung zu interpretierende Symbol.
  • CurrencyPosFormat :Beschreibt, wie Geldbeträge in der Textdatei gemeldet werden sollen. Es gibt vier gültige Werte, die für diese Einstellung verwendet werden können, dargestellt durch die Zahlen 0 bis 3. Beachten Sie, dass das Beispiel $ verwendet aber in der tatsächlichen Verwendung wird es das tatsächliche Währungssymbol verwenden, das durch CurrencySymbol definiert ist oder durch die Windows-Einstellung.
    • 0 :Präfix ohne Leerzeichen (z. B. $1)
    • 1 :Suffix ohne Leerzeichen (1$)
    • 2 :Präfix mit einem Leerzeichen dazwischen ($ 1)
    • 3 :Suffix mit einem Leerzeichen dazwischen (1 $)

  • CurrencyDigits :Anzahl der Nachkommastellen eines Währungsbetrags.
  • CurrencyNegFormat :Gibt die Formatierung eines negativen Währungsbetrags an. Es ist ein Wert zwischen 0-15, wie unten gezeigt. Beachten Sie, dass das Beispiel $ verwendet aber in der tatsächlichen Verwendung wird es das tatsächliche Währungssymbol verwenden, das durch CurrencySymbol definiert ist oder durch die Windows-Einstellung.
    • 0 :($1)
    • 1 :-1 $
    • 2 :$-1
    • 3 :$1-
    • 4 :(1$)
    • 5 :-1 $
    • 6 :1-$
    • 7 :1$-
    • 8 :-1 $
    • 9 :-$ 1
    • 10 :1 $-
    • 11 :$ 1-
    • 12 :$ -1
    • 13 :1- $
    • 14 :($ 1)
    • 15 :(1 $)

  • CurrencyThousandSymbol :Ein einzelnes Zeichen, um die Tausendertrennung in einem Währungsbetrag anzuzeigen. Wenn weggelassen, wird die Windows-Einstellung verwendet.
  • CurrencyDecimalSymbol :Ein einzelnes Zeichen zur Angabe der Dezimalstelle eines Währungsbetrags.

Spaltendefinitionsoptionen

Wir haben gesehen, wie wir mit dem Gesamtformat der Datei umgehen können, aber wir müssen mehr Informationen über die einzelnen Spalten geben. Noch wichtiger ist, dass wir in der Lage sein müssen, die erwarteten Datentypen von Spalten abzubilden. Ergo der dritte Abschnitt der schema.ini sollte jede Spalte mit so vielen Zeilen beschreiben, wie es Spalten in der Zieltextdatei gibt. Das allgemeine Format für die Spaltendefinition kann wie folgt aussehen:

ColN=Name Type Width #

Es ist wichtig zu beachten, dass mit Ausnahme des Präfixes ColN= , alle Teile sind optional, aber ob Sie sie weglassen können, hängt von anderen Faktoren ab, die unten besprochen werden.

  • ColN= :Ein obligatorisches Präfix, das an jedem Zeilenanfang stehen muss. Das N sollte eine Zahl sein, die bei 1 beginnt und aufsteigt.
  • Name :Gibt einer Spalte den Namen. Wenn der ColNameHeader auf True gesetzt ist , der Name Parameter kann weggelassen werden. Wenn es jedoch False ist , dann müssen Sie den Name angeben um Fehler zu vermeiden.
  • Type :Gibt den Datentyp an. Wenn es weggelassen wird, verwendet Access seine beste Schätzung basierend auf den gescannten Zeilen, geregelt durch MaxScanRows Möglichkeit. Der Type sollte auf einen dieser gültigen Werte gesetzt werden. Synonyme werden nach dem kanonischen Schlüsselwort aufgelistet:
    • Bit , Boolean
    • Byte
    • Short , Integer
    • Long
    • Currency
    • Single
    • Double , Float
    • DateTime
    • Text , Char
    • Memo , LongChar
    • Date

  • Width # :Gibt die Breite der Spalte an. Wenn dies angegeben ist, das Literal Width muss enthalten sein, gefolgt von einer Zahl. Wenn Sie angeben möchten, dass eine Spalte 50 Zeichen breit ist, schreiben Sie:
    Col17=ProductDescription Text Width 50
    Für Dateien mit fester Breite die Width ist obligatorisch. Bei Dateien mit Trennzeichen können Sie es weglassen. Access verwendet diese Informationen jedoch für Textfelder, um die Länge zu begrenzen und möglicherweise den Inhalt zu kürzen. Bei anderen Datentypen hat die Breite keine Auswirkung.

Schlussfolgerung

Sie haben gesehen, wie Sie das Schema einer Textdatei mit einer schema.ini steuern können die Sie in einem Ordner erstellen können, in dem sich die Textdatei(en) befinden. Sie können auch sehen, dass die schema.ini gibt Ihnen eine genauere Kontrolle über regionale Einstellungen, was hilfreich sein kann, wenn Sie mit internationalen Daten arbeiten und die Währungs- oder Datumsformatierung nicht steuern können. Im nächsten Artikel sehen Sie sich die alternative Methode zur Beschreibung der Struktur der Textdatei mit den Systemtabellen von Access an.