Parameter String Koneksi untuk Schema.ini
Membuat schema.ini
untuk membuka atau menautkan file teks dari Access adalah salah satu dari dua kemungkinan metode yang dapat digunakan untuk bekerja dengan data yang terdapat dalam file dari Access. Pada artikel sebelumnya, kita melihat parameter string koneksi file teks. Kami juga membahas kebutuhan untuk memiliki informasi skema tambahan untuk membantu Access mengurai file teks. Microsoft memiliki halaman tentang schema.ini
, tetapi ada beberapa hal yang belum jelas, jadi kami akan membahasnya di sini.
schema.ini
berkas
Setiap folder dapat memiliki satu file bernama schema.ini
untuk tempat kami dapat menentukan semua kemungkinan format file teks yang kami harapkan dapat ditemukan di dalam folder. Untuk setiap file teks, kita perlu memulai bagian dengan nama file dan kemudian menjelaskan strukturnya. Kami akan mulai dengan bagian sampel minimal kemudian menganalisis setiap bagian. Tidak perlu menghitung semua file teks. File teks apa pun yang tidak dijelaskan oleh schema.ini
akan hanya ditangani menggunakan pengaturan default untuk lebih baik atau lebih buruk. Mari kita lihat struktur schema.ini
.
[products.txt] Format=CSVDelimited ColNameHeader=True MaxScanRows=0 Col1=Products Text Col2=Count Long
Perhatikan bahwa baris pertama untuk memulai bagian harus merujuk ke file teks. Itu juga harus memiliki tanda kurung untuk menunjukkan awal bagian. Seperti yang mungkin sudah Anda ketahui, sebuah schema.ini
dapat menjelaskan lebih dari satu file teks, sehingga garis dalam kurung membantu memisahkan skema setiap file teks.
Kumpulan baris berikutnya berhubungan dengan format keseluruhan file, dan bagaimana Access harus memproses file teks. Kami dapat menunjukkan apakah file teks memiliki header, berapa banyak baris yang harus dipindai, halaman kode apa yang digunakan, dan seterusnya.
Kumpulan baris terakhir menjelaskan masing-masing kolom, nama, tipe data, dan lebarnya.
Kami akan meninjau opsi yang valid &kemungkinan nilai untuk 2 set tersebut.
Opsi untuk mendeskripsikan struktur file teks secara keseluruhan
Anda akan melihat daftar opsi valid yang tersedia untuk menjelaskan format keseluruhan file teks. Biasanya untuk menentukan minimal Format
dan ColNameHeader
tetapi semua konten yang memungkinkan adalah opsional. Setiap kali mereka dihilangkan, nilai default akan digunakan seperti yang ditunjukkan di bawah ini. Mari kita lihat bagaimana kita dapat mendeskripsikan format file teks tertentu.
Opsi struktur keseluruhan
Seperti disebutkan, itu opsional meskipun jarang dihilangkan. Meskipun demikian, defaultnya berasal dari kunci registri mesin Teks. Detail lebih lanjut tentang kunci registri dapat ditemukan di sini.
Format
:Menunjukkan format file teks. Jika dihilangkan, gunakan kunci registri mesin Teks,Format
. Nilai yang valid adalah:TabDelimited
:Tab membatasi kolom.CSVDelimited
:Koma membatasi kolom seperti file CSV.Delimited(*)
:Satu karakter membatasi kolom. Dapat berupa karakter apa saja kecuali"
karakter. Misalnya, file teks yang dipisahkan dengan|
karakter harus melaporkanFormat=Delimited(|)
.FixedLength
:Panjang kolom tetap; isinya harus diberi bantalan yang sesuai. Semua kolom harus memiliki lebar yang ditentukan.
CharacterSet
:Menggunakan halaman kode tertentu untuk membaca file teks. Nilai yang memungkinkan dapat berupaANSI
,OEM
,Unicode
atau nilai numerik apa pun yang mewakili halaman kode yang diinginkan. Untuk menemukan semua kemungkinan halaman kode yang didukung pada mesin Windows Anda, lihat di kunci registriComputer\HKEY_CLASSES_ROOT\MIME\Database\Codepage\
. Misalnya, jika Anda ingin menggunakan pengkodean utf-8, Anda dapat menentukanCharacterSet=65001
.ColNameHeader
:Menunjukkan jika baris pertama berisi nama kolom. Jika dihilangkan, gunakan kunci registri mesin Teks,FirstRowHasNames
. Nilai dapat berupaTrue
atauFalse
.MaxScanRows
:Jumlah baris Access harus memindai dalam file teks untuk menebak kemungkinan tipe data. Jika diatur ke 0, Access akan memindai seluruh file. Kunci registri mesin TeksMaxScanRows
digunakan jika dihilangkan.
Opsi pelokalan
Opsi-opsi tersebut terutama berkaitan dengan pelokalan data yang dikodekan dalam tanggal, waktu, atau mata uang. Semua opsi tersebut opsional dan setiap kali dihilangkan, pengaturan Wilayah Windows akan digunakan.
DateTimeFormat
:Format tanggal/waktu yang akan digunakan.DecimalSymbol
:Setiap karakter tunggal yang digunakan sebagai pemisah antara bagian integral dan pecahan dari suatu bilangan.NumberDigits
:Jumlah digit yang digunakan dalam bagian pecahan suatu bilangan.NumberLeadingZeroes
:Menunjukkan jika harus ada nol di depan untuk angka lebih dari -1 dan kurang dari 1. Harus berupaTrue
atauFalse
.CurrencySymbol
:Mengidentifikasi simbol yang akan ditafsirkan sebagai mata uang.CurrencyPosFormat
:Menjelaskan bagaimana jumlah moneter harus dilaporkan dalam file teks. Ada empat nilai yang valid untuk digunakan untuk pengaturan ini yang diwakili oleh angka 0 hingga 3. Perhatikan bahwa contoh menggunakan$
tetapi dalam penggunaan sebenarnya, itu akan menggunakan simbol mata uang aktual yang ditentukan olehCurrencySymbol
atau dengan pengaturan Windows.0
:Awalan tanpa spasi (mis. $1)1
:Akhiran tanpa spasi (1$)
2
:Awalan dengan spasi di antaranya ($ 1)3
:Akhiran dengan spasi di antara (1 $)
CurrencyDigits
:Jumlah digit dalam bagian pecahan dari jumlah mata uang.CurrencyNegFormat
:Menunjukkan pemformatan jumlah mata uang negatif. Ini adalah nilai antara 0-15 seperti yang ditunjukkan di bawah ini. Perhatikan bahwa contoh menggunakan$
tetapi dalam penggunaan sebenarnya, itu akan menggunakan simbol mata uang aktual yang ditentukan olehCurrencySymbol
atau dengan pengaturan Windows.0
:($1)1
:-$12
:$-13
:$1-
4
:(1$)5
:-$16
:1-$7
:1$-
8
:-1 $9
:-$ 110
:1 $-11
:$1-
12
:$ -113
:1- $14
:($ 1)15
:(1 $)
CurrencyThousandSymbol
:Satu karakter untuk menunjukkan pemisahan ribuan dalam jumlah mata uang. Jika dihilangkan, pengaturan Windows akan digunakan.CurrencyDecimalSymbol
:Satu karakter untuk menunjukkan desimal dari jumlah mata uang.
Opsi definisi kolom
Kami melihat bagaimana kami dapat menangani keseluruhan format file tetapi kami perlu memberikan lebih banyak informasi tentang masing-masing kolom. Lebih penting lagi, kita harus mampu memetakan tipe data yang diharapkan dari kolom. Ergo, bagian ketiga dari schema.ini
harus menjelaskan setiap kolom, dengan baris sebanyak kolom dalam file teks target. Format umum untuk definisi kolom dapat terlihat seperti ini:
ColN=Name Type Width #
Penting untuk dicatat bahwa kecuali untuk awalan ColN=
, semua bagian bersifat opsional tetapi apakah Anda dapat menghilangkannya akan bergantung pada faktor lain seperti yang dibahas di bawah ini.
ColN=
:Awalan wajib yang harus ada di setiap awal baris.N
harus berupa angka yang dimulai dari 1 dan meningkat.Name
:Memberi nama pada kolom. JikaColNameHeader
disetel keTrue
,Name
parameter dapat dihilangkan. Namun, jikaFalse
, maka Anda harus menentukanName
untuk menghindari kesalahan.Type
:Menunjukkan tipe data. Jika dihilangkan, Access akan menggunakan tebakan terbaiknya berdasarkan baris yang dipindai, diatur olehMaxScanRows
pilihan.type
harus disetel ke salah satu nilai yang valid. Sinonim dicantumkan setelah kata kunci kanonik:Bit
,Boolean
Byte
Short
,Integer
Long
Currency
Single
Double
,Float
DateTime
Text
,Char
Memo
,LongChar
Date
Width #
:Menunjukkan lebar kolom. Jika ini ditentukan, literalWidth
harus disertakan dan kemudian diikuti oleh nomor. Jika Anda ingin menunjukkan bahwa lebar kolom adalah 50 karakter, tulis:
Col17=ProductDescription Text Width 50
Untuk file dengan lebar tetap,Width
adalah wajib. Dengan file yang dibatasi, Anda dapat menghilangkannya. Namun, Access akan menggunakan informasi ini untuk bidang teks untuk membatasi panjang dan mungkin memotong konten. Untuk tipe data lain, lebarnya tidak berpengaruh.
Kesimpulan
Anda telah melihat bagaimana Anda dapat mengontrol skema file teks menggunakan schema.ini
yang dapat Anda buat di folder tempat file teks berada. Anda juga dapat melihat bahwa schema.ini
memberi Anda kontrol yang lebih terperinci atas pengaturan regional, yang mungkin berguna jika Anda berurusan dengan data internasional dan Anda tidak dapat mengontrol mata uang atau format tanggal. Pada artikel berikutnya, Anda akan melihat metode alternatif untuk mendeskripsikan struktur file teks menggunakan tabel sistem Access.