Якщо у вас є проблеми з відкриттям в Database Tour текстового або CSV-файлу або його структура полів відрізняється від очікуваної, це, ймовірно, може значити, що для цього файлу відсутня схема, що описує структуру полів, або ця схема некоректно створена. В подібних випадках вам потрібно створити або змінити схему. Ми рекомендуємо завжди створювати схеми для текстових таблиць. Схеми розміщуються в окремих файлах (файлах схем), тому створення, вилучення та зміна схеми не змінюють сам текстовий або CSV-файл (файл даних). Якщо файл даних не має відповідного файла схеми, то схема будується в пам'яті з використанням замовчань, що може бути небажаним в багатьох випадках.
Файли схем є звичайними текстовими файлами і повинні бути розміщені в тій же теці, де знаходяться файли з даними. Для з'єднань BDE файл схеми повинен мати таку ж назву, як і файл з даними, але мати розширення .SCH. Для з'єднань ADO схеми всіх файлів з певної теки містяться в одному файлі, що називається Schema.ini. Додаткову інформацію про створення схем читайте в документації до вашого движка баз даних.
Схеми можна створювати, вилучати або редагувати в Database Tour, на закладці Схеми. Досвідчені користувачі для цих цілей можуть також використовувати будь-який текстовий редактор.
Для створенння, редагування або вилучення схеми для певної текстової або CSV-таблиці відкрийте в Database Tour папку, що містить даний файл.
Створення схеми вручну
Перейдіть на закладку Схеми Навігатора об'єктів. Клацніть кнопку Створити. З'явиться нове вікно зі списком всіх таблиць поточної бази даних, для яких немає схем. Виберіть потрібну таблицю і клацніть OK. З'явиться нове вікно, в якому ви можете в зручному візуальному режимі створити схему і подивитися, як це вплине на відображення даних таблиці.
Створення схеми з використанням інтерфейсу
Клікніть потрібний файл зі списку таблиць. Якщо він ще не має схеми і якщо відповідна опція увімкнена, з'явиться запит від програми на створення схеми. Якщо ви виберете Так, буде показано інтефрейс створення схеми, де можна в кілька кліків налаштувати схему:
Примітка: Ви також можете створити схему автоматично при експортуванні даних до CSV чи текстового файлу.
Редагування існуючої схеми
Хоча створення схем можливо в зручному візуальному режимі, редагування існучої схеми можливе лише в текстовому режимі.
Перейдіть на закладку Схеми. Виберіть потрібну схему зі списку схем. Схема відкриється в правій панелі. Перейдіть до закладки Скрипт і клацніть кнопку Копіювати до редактора. Відкоригуйте схему в редакторі і клацніть кнопку Записати в файл.
Вилучення схеми
Перейдіть на закладку Схеми. Виберіть потрібну схему зі списку схем і клацніть кнопку Вилучити або натисніть Delete.
Приклади схем
Приклад 1
Поля в файлі даних розділені символом (|).
Вміст файла даних (programs.txt):
1|Database Tour|www.databasetour.net|6848
2|Database Tour Pro|www.databasetour.net|7232
3|Exportizer|www.vlsoftware.net/exportizer|4267
4|Exportizer Pro|www.vlsoftware.net/exportizer|5699
5|Exportizer Enterprise|www.vlsoftware.net/exportizer|5742
6|Icons from File|www.vlsoftware.net/icons-from-file|1890
7|Rename Us|www.vlsoftware.net/rename-us|3166
8|Rename Us Pro|www.vlsoftware.net/rename-us|4581
9|Free Renju|www.vlsoftware.net/free-renju|404
10|Logical Crossroads|www.vlsoftware.net/logical-crossroads|522
11|Hanoi Towers|www.vlsoftware.net/hanoi-towers|99
12|Reportizer|www.reportizer.net|6211
Як даний файл виглядає в програмі без схеми (з'єднання ADO):
Вміст файлів схем:
Схема BDE (programs.sch):
[programs]
CHARSET = ASCII
FILETYPE = VARYING
DELIMITER = |
Field1 = ID,NUMBER,18,0,0
Field2 = NAME,CHAR,30,0,18
Field3 = URL,CHAR,50,0,48
Field4 = SIZEKB,NUMBER,18,0,98
Схема ADO (Schema.ini):
[programs.txt]
ColNameHeader=False
Format=Delimited(|)
CurrencyThousandSymbol=
CurrencyDecimalSymbol=.
DecimalSymbol=.
TextDelimiter=
MaxScanRows=25
CharacterSet=ANSI
Col1=ID Integer Width 18
Col2=NAME Char Width 30
Col3=URL Char Width 50
Col4=SIZEKB Integer Width 18
Як даний файл виглядає в програмі зі схемою:
Приклад 2
Поля в файлі даних розділено комами. Дані полів, в яких присутні коми, обмежені лапками.
Вміст файла даних (PAYMENT.txt):
1,1,2/7/2017,300
2,4,2/8/2017,3467.35
3,5,3/20/2017,21.89
4,6,3/20/2017,250.5
5,7,4/26/2017,121
6,2,5/2/2017,19
7,3,5/4/2017,1457
8,11,9/17/2022,333
9,11,9/17/2022,333
10,11,9/17/2022,333
Як даний файл виглядає в програмі без схеми (з'єднання BDE):
Вміст файлів схем:
Схема BDE (PAYMENT.sch):
[PAYMENT]
CHARSET = ASCII
FILETYPE = VARYING
QuoteChar ="
SEPARATOR =,
Field1 = PAYMENT_ID,NUMBER,18,0,0
Field2 = CUSTOMER_ID,NUMBER,18,0,18
Field3 = PAYMENT_DATE,CHAR,20,0,36
Field4 = PAYMENT_SUM,FLOAT,20,2,56
Схема ADO (Schema.ini):
[PAYMENT.txt]
ColNameHeader=False
Format=CSVDelimited
CurrencyThousandSymbol=
CurrencyDecimalSymbol=.
DecimalSymbol=.
TextDelimiter=
MaxScanRows=25
CharacterSet=ANSI
Col1=PAYMENT_ID Float Width 20
Col2=CUST_ID Float Width 20
Col3=PAY_DATE Date Width 20
Col4=PAY_SUM Float Width 20
Як даний файл виглядає в програмі зі схемою:
Приклад 3
Поля в файлі даних мають фіксовану ширину.
Вміст файла даних (customer.txt):
1 Sandra Bush Portland United States
2 Eric Miles Edmonton Canada
3 Berndt Mann Hamburg Germany
4 Marek Przybylsky Krakow Poland
5 John Hladni Bedford United States
6 Bogdan Vovchenko Kyiv Ukraine
7 Paul Vogel Hamburg Germany
Як даний файл виглядає в програмі без схеми (з'єднання ADO):
Вміст файлів схем:
Схема BDE (customer.sch):
[customer]
CHARSET = ASCII
FILETYPE = FIXED
Field1 = ID,FLOAT,20,2,0
Field2 = FIRSTNAME,CHAR,12,0,20
Field3 = LASTNAME,CHAR,16,0,32
Field4 = CITY,CHAR,16,0,48
Field5 = COUNTRY,CHAR,16,0,64
Схема ADO (Schema.ini):
[customer.txt]
ColNameHeader=False
Format=FixedLength
FixedFormat=RaggedEdge
MaxScanRows=25
CharacterSet=ANSI
Col1=ID Float Width 20
Col2=FIRSTNAME Char Width 12
Col3=LASTNAME Char Width 16
Col4=CITY Char Width 16
Col5=COUNTRY Char Width 16
Як даний файл виглядає зі схемою: