[ Pobierz całość w formacie PDF ]
.ADO 1.0 zawiera³o losowego dostawcê dla ODBC, tak wiêc gdybyœ u¿ywa³ Jet i ADO,by³byœ zmuszony do korzystania z warstwy ODBC.Jet 4.0 posiada wbudowanegodostawcê baz danych OLE o nazwie kodowej JOLT 4.Umo¿liwia Ci towykorzystywanie ADO jako metodologii dostêpu do danych w aparacie Jet.PoprzezJOLT masz dostêp do zestawu funkcji Jet, a ponadto do kilku opcjicharakterystycznych dla JOLT.Temat ten bêdzie poruszany jeszcze kilkakrotnie wdalszej czêœci tej ksi¹¿ki.Blokowanie na poziomie rekorduTak, nie pomyli³eœ siê! Jet 4.0 obs³uguje blokowanie na poziomie rekordu! Terazmo¿esz poprawiæ wspó³bie¿noœæ aplikacji, blokuj¹c jeden wiersz, a nie jak tomia³o miejsce wczeœniej – ca³¹ stronê.Blokowanie na poziomie rekordu mo¿ewp³yn¹æ na znaczne zwiêkszenie wydajnoœci obszernych, transakcyjnych bazdanych.W niektórych testach, blokowanie na poziomie rekordu umo¿liwi³oszeœciokrotn¹ poprawê wydajnoœci w stosunku do blokowania na poziomie strony.Programowa obs³uga blokowania na poziomie rekordu bêdzie dostêpna w ADO iAccessie, ale nie w DAO.Bezpoœredni¹ korzyœci¹ z blokowania na poziomierekordu jest koniec konfliktów z blokowaniem stron.Wiêcej na temat blokowaniana poziomie wiersza w rozdziale 21.„Zagadnienia wielodostêpu, serwer plików,blokowanie”.Pe³na obs³uga UnicodeJet 4.0 przechowuje wszystkie dane o znakach (wszystkie pola typu Tekst i Memo)w kodzie Unicode.Umo¿liwia to ³atwe prze³¹czanie siê pomiêdzy jêzykami izestawami znaków w aplikacji.Teraz, gdy konwertujesz coœ na inny jêzyk lubalfabet, masz 100% gwarancji zgodnoœci danych po konwersji.Czym jest Unicode?Dzisiaj na œwiecie istnieje wiele nak³adaj¹cych siê na siebie standardówkodowania znaków tekstowych.W przypadku istnienia tak wielu ró¿nych zestawówznaków dla stron kodowych proces tworzenia jednego, miêdzynarodowego kodupodstawowego jest wyj¹tkowo trudny.Mniej wiêcej dziesiêæ lat temu firmyApple i Xerox zaczê³y wspólnie opracowywaæ nowy standard zestawu znaków.W1991 roku firmy te za³o¿y³y konsorcjum Unicode.Obecnie jego cz³onkami s¹miêdzy innymi: Microsoft, Apple, AT&T, Compaq, Digital, EcologicalLinguistics, Hewlett-Packard, IBM, Lotus, NeXT, Novell, Reuters oraz wieleinnych firm.Na pocz¹tku lat dziewiêædziesi¹tych International Standards Organisation (ISO),w po³¹czeniu z konsorcjum Unicode, rozpoczê³a prace nad podobnym standardem.Dziêki tej wspó³pracy wydane w 1993 roku Unicode 1.1 i ISO 10646 s¹identyczne.Do przedstawiania znaków tekstowych ze wszystkich jêzyków poza chiñskim kodUnicode korzysta z 16-bitowego schematu kodowania znaków o sta³ej szerokoœci.Kod Unicode rozwi¹zuje problem du¿ej liczby jêzyków stron kodowych i umo¿liwiawymianê i wspó³dzielenie danych miêdzy wieloma jêzykami bez ryzykauszkodzenia.Obs³uga Unicode 1.1 w silniku Jet 4.0Aby umieœciæ kod Unicode w silniku Jet 4.0, rozmiar strony danych zosta³zwiêkszony do 4 KB.Umo¿liwi³o to zmianê ograniczenia wielkoœci pliku typu MDBz 1,07 GB do 2,14 GB.Poniewa¿ Unicode przechowuje dane w wiêkszych stronach,rozmiar niektórych baz (z du¿¹ iloœci¹ danych tekstowych) mo¿e siê zwiêkszyæ.Jednak¿e Jet umo¿liwia kompresjê kodu Unicode.Opcja Kompresja Unicode jestrównie¿ dostêpna podczas projektowania tabel w Accessie (rysunek 5.1).Rysunek 5.1.Opcja Kompresja Unicode w tabeli w widoku ProjektKompresja indeksu jest domyœlnie w³¹czona i jeœli konwertujesz aplikacjê zpoprzedniego formatu pliku, wszystkie typy znaków bêd¹ mia³y w³¹czon¹ opcjêKompresja Unicode.Jeœli jednak baza danych jest ju¿ w formacie pliku Jet 4.0,aby w³¹czyæ kompresjê Unicode, w³aœciwoœæ ta musi zostaæ ustawiona.KompresjaUnicode nie dzia³a na polach typu Memo o rozmiarze przekraczaj¹cym 4 kB,posiadaj¹cych na stronie inne wiersze.Aby przy u¿yciu SQL okreœliæ kolumnê, która bêdzie u¿ywaæ kompresji, podczastworzenia tabeli z DDL u¿yj nowego znacznika WITH COMPRESSION:CREATE TABLE MyTable (MyCompressedField CHARACTER (255) WITH COMPRESSION)Ta klauzula SQL dostêpna jest jedynie poprzez kod VBA i ADO.Powy¿sze wyra¿enieSQL mo¿esz wykonaæ poprzez aktualne po³¹czenie ADO projektu VBA (wydruk 5.1).Wydruk 5.1.Tworzenie skompresowanego pola Unicode w VBAPrivate Sub cmdUnicode_Click()'Procedura ta spowoduje utworzenie tabeli MyTable i'skompresowanego pola w standardzie Unicode o nazwie MyCoolCounter'Kod ten mo¿e byæ uruchamiany jedynie poprzez ADO w VBA'i nie jest obs³ugiwany przez DAO'Z ksi¹¿ki "Access 2000 Ksiêga Eksperta" (Helion)'Autorzy: Forte, Howe, RalstonDim strSQL As StringOn Error GoTo Proc_Err'Utwórz procedurê SQLstrSQL = "CREATE TABLE MyTable (MyCompressedField CHARACTER(255) WITHCOMPRESSION)"'Wykonaj procedurê SQL na'aktualnym po³¹czeniu ADOCurrentProject.Connection.Execute strSQL'SukcesMsgBox "Tabela Utworzona OK", vbInformationProc_Exit:Exit SubProc_Err:'Okreœl, czy tabela istniejeIf Err
[ Pobierz całość w formacie PDF ]