Access
 sql >> Baza danych >  >> RDS >> Access

Parametry ciągu połączenia dla Schema.ini

Parametry ciągu połączenia dla Schema.ini

Tworzenie schema.ini otwieranie lub łączenie plików tekstowych z programu Access to jedna z dwóch możliwych metod, których można używać do pracy z danymi zawartymi w plikach z programu Access. W poprzednim artykule przyjrzeliśmy się parametrom parametrów połączenia pliku tekstowego. Omówiliśmy również potrzebę posiadania dodatkowych informacji o schemacie, aby pomóc programowi Access analizować pliki tekstowe. Microsoft ma stronę o schema.ini , ale jest kilka rzeczy, które nie są od razu jasne, więc omówimy to tutaj.

schema.ini plik

Każdy folder może mieć jeden plik o nazwie schema.ini gdzie możemy zdefiniować wszystkie możliwe formaty plików tekstowych, które spodziewamy się znaleźć w folderze. Dla każdego pliku tekstowego musimy rozpocząć sekcję od nazwy pliku, a następnie opisać strukturę. Zaczniemy od minimalnej sekcji próbki, a następnie przeanalizujemy każdą część. Nie jest konieczne wyliczanie wszystkich plików tekstowych. Wszelkie pliki tekstowe nie opisane przez schema.ini będzie po prostu obsługiwany przy użyciu domyślnych ustawień na lepsze lub gorsze. Przyjrzyjmy się strukturze schema.ini .

[products.txt]

Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0

Col1=Products Text
Col2=Count Long

Zauważ, że pierwsza linia rozpoczynająca sekcję musi odnosić się do pliku tekstowego. Musi również zawierać nawiasy wskazujące początek sekcji. Jak być może już wiesz, schema.ini może opisywać więcej niż jeden plik tekstowy, więc linia w nawiasach pomaga oddzielić schemat każdego pliku tekstowego.

Następny zestaw wierszy dotyczy ogólnego formatu pliku i sposobu, w jaki program Access powinien przetwarzać pliki tekstowe. Możemy wskazać, czy plik tekstowy ma nagłówki, ile wierszy ma zeskanować, jakiej strony kodowej użyć itd.

Ostatni zestaw linii opisuje poszczególne kolumny, ich nazwę, typ danych i szerokość.

Sprawdzimy prawidłowe opcje i możliwe wartości dla tych 2 zestawów.

Opcje opisu ogólnej struktury pliku tekstowego

Zobaczysz listę dostępnych opcji opisujących ogólny format pliku tekstowego. Typowe jest określenie co najmniej Format i ColNameHeader ale wszystkie możliwe treści są opcjonalne. Za każdym razem, gdy zostaną pominięte, zostaną użyte wartości domyślne, jak wskazano poniżej. Zobaczmy, jak możemy opisać format danego pliku tekstowego.

Ogólne opcje struktury

Jak już wspomniano, są one opcjonalne, choć rzadko pomijane. Niemniej jednak wartości domyślne pochodzą z kluczy rejestru aparatu tekstu. Więcej szczegółów na temat kluczy rejestru można znaleźć tutaj.

  • Format :Wskazuje format plików tekstowych. Jeśli pominięty, użyj klucza rejestru silnika tekstu, Format . Prawidłowe wartości to:
    • TabDelimited :Tabulatory ograniczają kolumny.
    • CSVDelimited :Przecinki oddzielają kolumny jak plik CSV.
    • Delimited(*) :Pojedynczy znak ogranicza kolumny. Może być dowolnym znakiem oprócz " postać. Na przykład plik tekstowy oddzielony znakami | znak powinien zgłosić Format=Delimited(|) .
    • FixedLength :Kolumny mają stałą długość; zawartość powinna być odpowiednio wyściełana. Wszystkie kolumny muszą mieć określoną szerokość.

  • CharacterSet :Używa określonej strony kodowej do odczytu pliku tekstowego. Możliwe wartości to ANSI , OEM , Unicode lub dowolne wartości liczbowe reprezentujące żądane strony kodowe. Aby zlokalizować wszystkie możliwe strony kodowe obsługiwane na komputerze z systemem Windows, poszukaj w kluczu rejestru Computer\HKEY_CLASSES_ROOT\MIME\Database\Codepage\ . Na przykład, jeśli chcesz użyć kodowania UTF-8, możesz określić CharacterSet=65001 .
  • ColNameHeader :Wskazuje, czy pierwszy wiersz zawiera nazwy kolumn. W przypadku pominięcia używa klucza rejestru aparatu tekstu, FirstRowHasNames . Wartości mogą być True lub False .
  • MaxScanRows :Liczba wierszy Program Access powinien przeskanować plik tekstowy, aby odgadnąć możliwy typ danych. Jeśli ustawiono na 0, program Access przeskanuje cały plik. Klucz rejestru silnika tekstu MaxScanRows jest używany, gdy jest pominięty.

Opcje lokalizacji

Opcje te dotyczą głównie lokalizacji danych zakodowanych w datach, godzinach lub walucie. Wszystkie te opcje są opcjonalne i za każdym razem, gdy zostaną pominięte, używane są ustawienia regionu Windows.

  • DateTimeFormat :Format daty/czasu do użycia.
  • DecimalSymbol :Dowolny pojedynczy znak używany jako separator między częściami całkowitymi i ułamkowymi liczby.
  • NumberDigits :Liczba cyfr używanych w części ułamkowej liczby.
  • NumberLeadingZeroes :Wskazuje, czy w przypadku liczb większych niż -1 i mniejszych niż 1 powinno być początkowe zero. Powinno mieć wartość True lub False .
  • CurrencySymbol :Identyfikuje symbol, który ma być interpretowany jako waluta.
  • CurrencyPosFormat :opisuje sposób raportowania kwot pieniężnych w pliku tekstowym. Istnieją cztery prawidłowe wartości do użycia dla tego ustawienia, reprezentowane przez cyfry od 0 do 3. Zauważ, że w przykładzie użyto $ ale w rzeczywistym użyciu użyje rzeczywistego symbolu waluty zdefiniowanego przez CurrencySymbol lub według ustawień systemu Windows.
    • 0 :Prefiks bez spacji (np. $1)
    • 1 :przyrostek bez spacji (1$)
    • 2 :Prefiks ze spacją pomiędzy (1 USD)
    • 3 :przyrostek ze spacją pomiędzy (1 $)

  • CurrencyDigits :Liczba cyfr w części ułamkowej kwoty waluty.
  • CurrencyNegFormat :Wskazuje formatowanie ujemnej kwoty waluty. Jest to wartość z zakresu 0-15, jak pokazano poniżej. Zauważ, że w przykładzie użyto $ ale w rzeczywistym użyciu użyje rzeczywistego symbolu waluty zdefiniowanego przez CurrencySymbol lub według ustawień systemu Windows.
    • 0 :(1 USD)
    • 1 :-1$
    • 2 :1 USD
    • 3 :$1-
    • 4 :(1$)
    • 5 :-1$
    • 6 :1-$
    • 7 :1$-
    • 8 :-1 $
    • 9 :-1 USD
    • 10 :1 $-
    • 11 :1-$
    • 12 :-1 USD
    • 13 :1-$
    • 14 :(1 USD)
    • 15 :(1 $)

  • CurrencyThousandSymbol :Pojedynczy znak wskazujący oddzielenie tysięcy w kwocie w walucie. W przypadku pominięcia używane jest ustawienie systemu Windows.
  • CurrencyDecimalSymbol :Pojedynczy znak wskazujący ułamek dziesiętny kwoty waluty.

Opcje definicji kolumn

Widzieliśmy, jak radzimy sobie z ogólnym formatem pliku, ale musimy podać więcej informacji o poszczególnych kolumnach. Co ważniejsze, musimy być w stanie mapować oczekiwane typy danych w kolumnach. Ergo, trzecia sekcja schema.ini powinien opisywać każdą kolumnę z tyloma wierszami, ile jest kolumn w docelowym pliku tekstowym. Ogólny format definicji kolumny może wyglądać tak:

ColN=Name Type Width #

Należy pamiętać, że z wyjątkiem prefiksu ColN= , wszystkie części są opcjonalne, ale to, czy można je pominąć, zależy od innych czynników, jak omówiono poniżej.

  • ColN= :obowiązkowy przedrostek, który musi znajdować się na każdym początku wiersza. N powinna być liczbą zaczynającą się od 1 i rosnącą.
  • Name :Nadaje nazwę kolumnie. Jeśli ColNameHeader jest ustawiona na True , Name parametr można pominąć. Jeśli jednak jest False , musisz podać Name aby uniknąć błędów.
  • Type :Wskazuje typ danych. Jeśli zostanie pominięty, program Access użyje najlepszego odgadnięcia na podstawie zeskanowanych wierszy, zarządzanych przez MaxScanRows opcja. type należy ustawić na jedną z tych prawidłowych wartości. Synonimy są wymienione po kanonicznym słowie kluczowym:
    • Bit , Boolean
    • Byte
    • Short , Integer
    • Long
    • Currency
    • Single
    • Double , Float
    • DateTime
    • Text , Char
    • Memo , LongChar
    • Date

  • Width # :Wskazuje szerokość kolumny. Jeśli jest określony, literał Width musi być zawarty, a następnie numer. Jeśli chcesz wskazać, że kolumna ma szerokość 50 znaków, wpisz:
    Col17=ProductDescription Text Width 50
    W przypadku plików o stałej szerokości Width jest obowiązkowe. W przypadku plików rozdzielanych możesz je pominąć. Jednak program Access użyje tych informacji dla pól tekstowych, aby ograniczyć długość i ewentualnie obciąć zawartość. W przypadku innych typów danych szerokość nie ma wpływu.

Wniosek

Widziałeś, jak możesz kontrolować schemat pliku tekstowego za pomocą schema.ini które możesz utworzyć w folderze, w którym znajdują się pliki tekstowe. Możesz również zobaczyć, że schema.ini zapewnia bardziej szczegółową kontrolę nad ustawieniami regionalnymi, co może być pomocne, jeśli masz do czynienia z danymi międzynarodowymi i nie możesz kontrolować waluty lub formatowania daty. W następnym artykule przyjrzymy się alternatywnej metodzie opisywania struktury pliku tekstowego za pomocą tabel systemowych Access.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak program Access komunikuje się ze źródłami danych ODBC? Część 3

  2. Dołącz do mnie na Microsoft Access z sesją Akademii SQL Server

  3. Top 7 baz danych

  4. Jak wybrać przyjazną dla użytkownika bazę danych dla swojej firmy?

  5. Kiedy należy używać programu SQL Server z programem Access? (Wskazówka:prawie zawsze)