Tworząc łącze danych (UDL) Pliki w Delphi Sznur związku wymagał być człowiekiem sukcesu do serwera bazy danych może zostać utworzony podczas czasu projektowania albo czasu przebiegu. Są okolicznościami, pod które możesz chcieć zgromadzić sznur związku całkowicie na zewnątrz podanie, jednakże. W tych przykładach, pliki łącza danych Microsoft są przydatne, ponieważ ten artykuł wyjaśni. W moich ostatnich mało artykułach używam komponentu ADOConnection, by być człowiekiem sukcesu do serwera bazy danych. Też wyjaśniłem rolę ConnectionString w ADOConnection i zamanifestowałem jak utworzyć jednego. ConnectionString utworzył podczas czasu projektowania (jak to utworzyliśmy w moim ostatnim artykule) jest wprowadzony do pamięci plik Formy (.dfm). Alternatywnie, możemy zdecydować utworzyć to podczas runtime przez twarde kodowanie parametry związku. W obu przykładach ConnectionString może tylko zostać zmodyfikowany, jeżeli źródło jest uchwytne. Ten may czasami bądź niepożądany, specjalnie, jeżeli potrzeby sznura związku, by zostać zmodyfikowany, na przykład, kiedy rozprowadzając dwójkowego. W okolicznościach, gdzie twardy - coding parametry związku są nie pożądany, możesz zawsze zdać się łącze danych na Microsoft (.UDL) pliki albo .Pliki INI, by zgromadzić parametry związku na zewnątrz podanie. W tym artykule będę dyskutował metody, by utworzyć pliki UDL, by zgromadzić i później odzyskać informację wymaganą przez ADO, by być człowiekiem sukcesu do serwera bazy danych. Od informacji uchwytnej na Internecie, jest skłoniony, by pomyśleć, że Borland zachęca producentów, by użyć ADO ale wydatnie wystarczająco Studio Producenta Borland 2006 dokumentacji ( jak również dokumentacja dla poprzednich wersji) nie mówi absolutnie nic o własnościach łącza danych i tworząc .Pliki UDL. Jednakże, są cechy w IDE, by zrobić to łatwe, by utworzyć łącze danych (..udl) pliki; wrócimy, by zwrócić do te później w tym artykule. Pozwolić nas najpierw utworzyć UDL ułożyć dokumenty ręcznie i wyszczególnić przedmiot Związku, by użyć tego zamiast używania twardego - kodowałeś Sznur Związku. Aby utworzyć nowy plik łącza danych, przejrzeć do projektowego folderu albo folderu DataLink w odkrywcy, właściwych klikach i od kontekstowego menu wybrać Nowy | Dokument Tekstu. Imię to Test1.txt. Przemianuj plik, by zmienić rozszerzenie do .udl zamiast z .txt; imię pliku powinno teraz być ADOConnectProj.udl. Upewnij się, że rozszerzenie właściwie zostało zmienione; często, kiedy próbujesz zmienić rozszerzenie nazwy pliku od wewnątrz Windows co zdarza się jest, że imię pliku ( pierwsza część ) jest zmieniona i pożądane rozszerzenie jest dodane do tego kiedy prawdziwe rozszerzenie pozostaje niezmieniony. To znaczyłoby, że kończysz się z czymś podobnego do ADOConnectProj.udl.txt żeby typ pliku nigdy nie zmienił. W takich okolicznościach zawsze wracam do Rozkazu punktualnie i używam "Nerki" by nie tylko zmienić nazwę zbioru ale rozszerzenie również. Podwójnie - kliknąć na plik, by wychować dialog Własności łącza danych. Microsoft OLEDB Dostarczyciel dla Kierowców ODBC jest wybrany domyślnie w Dostarczyciele tab. kliknąć na tabulator Związku; będziesz wymagał ważny DSN ODBC ( Imienia źródła danych) być człowiekiem sukcesu do bazy danych. Jeżeli już nie utworzyłeś DSN dla bazy danych, przeczytać następną sekcję, która manifestuje jak utworzyć nowego DSN od administratora ODBC w pulpicie operatora. Tworząc łącze danych (UDL) Pliki w Delphi - Sekcja 1: Dodając nowe źródło danych ODBC  [dsn_Screenshot1.jpg] Pójdź do pulpit operatora | Administracyjne Narzędzia i kliknij na źródło danych (ODBC) ikona. To powinno przynieść wielo - - okienko dialogowe tabbed. Klik na Dodaj przycisk i jesteś były obecnym z listą uchwytnych kierowców. Wybierz odpowiedniego kierowcę (który w moim przypadku jest Kierowcą SQL MS) i kliki Finish. Inny dialog jest pokazany; wejdź imię źródła danych i opis, którego później użyjesz, by być człowiekiem sukcesu do źródła danych. Drop-down pudełko sporządza listę uchwytne serwery bazy danych na sieci; wybierz odpowiednie imię serwera i kliknij Potem. Następny krok wymaga ciebie wyszczególnić jak serwer powinien poświadczyć zarejestrowanie się, poświadczenie OS albo poświadczenie Serwera SQL z listami uwierzytelniającymi dostarczonymi przez użytkownika. Jeżeli to jest drugie wtedy potrzebujesz zrobić pewny wszedłeś poprawną nazwę użytkownika i hasło. Klik potem i od drop-down pudełka wybiera "testdb" jako domyślna baza danych. Ostatnia strona zawiera język, utajnianie, regionalne ustawienia i opcje rejestracji, które są dość dużo oczywiste. Gdy klikając koniec jesteś były obecnym z oknem wiadomości sporządzającym listę konfiguracja. Kliknąć na " związek Próby" by upewnić się, że źródło danych zostało utworzone szczęśliwie. Jeżeli skutek jest twierdzący szczęśliwie utworzyłeś DSN i mogłeś teraz użyć tego, by być człowiekiem sukcesu do bazy danych od twojego programu Delphi. Teraz wróćmy do .plik udl. Podwójnie - kliknąć na to, by wychować okienko dialogowe Własności łącza danych, jeżeli to jest nie już widoczny. Zrób pewny tabulator Związku ma skupienie. DSN ODBC którego utworzyłeś powinien teraz być uchwytny w drop-down pudełku (klik odświeżają, jeżeli to jest nie uchwytny). Wybierz DSN, wejdź imię użytkownika i hasło i sprawdź "pozwól ratowanie hasła." Następny wybiera początkowy katalog, by użyć od listy uchwytnego w drop-down pudełku. Związek próby klik, by zweryfikować, że związek był pomyślny. Tworząc łącze danych (UDL) Pliki w Delphi - Sekcja 2: Będąc człowiekiem sukcesu z Kierowcami Serwera SQL Jednakże, jeżeli chcesz być człowiekiem sukcesu do bazy danych z rodzimymi kierowcami kierowców zamiast ODBC możesz zrobić tak przez wybieranie Microsoft OLE DB Dostarczyciel dla Kierowców Serwera SQL w tabulatorze Dostarczyciela okienka dialogowego Własności łącza danych. Klik potem; tabsheet związku teraz prosi ciebie wejść imię Serwera SQL zamiast DataSource Imienia. Drop-down pudełko sporządza listę wszystkie serwery uchwytne na sieci. Wybierz to, z którym chcesz pracować i wtedy wybierz typ poświadczenia, które serwer powinien zrobić. Wejdź imię użytkownika i hasło i sprawdź pozwolić oszczędność. Zauważ: Jakieś hasło, które ratujesz będzie zgromadzone jako czysty tekst i w ten sposób czytelny do kogoś, który dostęp ma do pliku, tak, jeżeli jesteś zaniepokoić się o bezpieczeństwo nie mógłbyś uratować hasła wejść to zawsze, którego kiedy jesteś człowiekiem sukcesu.
[dlinkScreenShot1] Raz poprawne listy uwierzytelniające użytkownika zostały dostarczone możesz wybrać od listy uchwytnych baz danych na serwerze jako przechylony w drop-down pudełku albo możesz też wyszczególnić istniejący plik przez selekcję "Przymocować plik bazy danych jako imię bazy danych" opcję. 
[dlinkScreenShot2] Kliknąć na Próbę Związek, by zweryfikować, że związek był pomyślny. Możesz teraz użyć pliku łącza danych, by być człowiekiem sukcesu do serwera bazy danych. Tworząc łącze danych (UDL) Pliki w Delphi - Sekcja 3: Tworząc programmatically plików łącza danych Ponieważ powiedziałem w wstępnych liniach, Delphi ma dobre poparcie dla ADO ale dokumentacja nie mówi absolutnie niczego o plikach łącza danych. To staje się więcej skonfudować kiedy uświadamiasz sobie, że są funkcje w bibliotece Delphi tej zrobić tworzącym programmatically plików UDL cakewalk. Aby dowiedzieć się o nich, otworzyć część ADODB.tata w edytorze kodu Delphi. Znajdziesz kilka procedur pomocnika, które nie są udokumentowane w plikowi pomóc Delphi. Jedna z tych procedur pomocnika jest procedurą CreateUDLFile, która bierze trzy parametry: imię Pliku UDL, by zostać utworzony, imienia dostarczyciela i imienia źródła danych. procedure CreateUDLFile(const FileName, ProviderName, DataSourceName: WideString); Używając tę metodę, to jest możliwe i dość łatwe, by utworzyć plik UDL, który może zostać użyty, by zastąpić twardego - kodowałeś sznur związku w podaniu. Gdy wyszczególniając imię pliku UDL i dostarczyciela możemy sprzęgnąć parametry związku jak id użytkownika i hasło z imieniem źródła danych i podajemy to jako parametr nakazał przez metodę CreateUdlFile. CreateUDLFile(ADOConnectProj.udl','SQLOLEDB.1','MyServer;'+ 'Password=myPass;' +'Persist Security Info=True;'+ 'User ID=sa;' + 'Initial Catalog=TestDB;'); Biblioteki Delphi zawierają jeszcze jeden nieudokumentowana procedura: DataLinkDir, który dostaje od archiwum domyślną ścieżkę, by uratować pliki UDL. Ta informacja może zostać użyta w powyższej funkcji, by utworzyć plik w folderze DataLinks. Wszystko co potrzebujemy zrobić jest dodać zamierzone imię pliku UDL w metodzie budowniczego z DataLinkDir rutynowym; plik może wtedy zostać utworzony i jest wprowadzony domyślny folder do pamięci zamiast katalogu korzenia albo jakiegoś innego folderu. CreateUDLFile(DataLinkDir + 'ADOConnectProj.udl' , 'SQLOLEDB.1' , 'MyServer; ' + 'Password=myPass;' +'Persist Security Info=True;' + 'User ID=sa;' + 'Initial Catalog=TestDB;' ); Aby przeczytać Sznur Związku od pliku UDL, któremu możemy przydzielić nazwę zbioru własności ConnectionString ADOConnection1. ADOConnection1.ConnectionString:= 'FILE NAME=' + DataLinkDir + 'ADOConnectProj.udl'; Poszły za kodem skrawek manifestuje jak utworzyć plik UDL i użyć tego, by przeczytać Sznur Związku i być człowiekiem sukcesu do serwera bazy danych kiedy używa ADO: if not FileExists(DataLinkDir + 'ADOConnectProj.udl') then begin CreateUDLFile(DataLinkDir + 'ADOConnectProj.udl','SQLOLEDB.1','MyServer;'+ 'Password=myPass;' +'Persist Security Info=True;'+ 'User ID=sa;' + 'Initial Catalog=TestDB;'); end; ADOConnection1.ConnectionString:= 'FILE NAME=' + DataLinkDir + 'ADOConnectProj.udl'; ADOConnection1.Open; if ADOConnection1.Connected then ShowMessage('Successfully connected'); Będąc zdolny do programmatically utworzyć pliki UDL i pozwolić sznurowi związku zostać załadowany od pliku dostarcza bardzo elastycznego podejścia do robienia związków ADO. Jako programista, możesz pozwolić użytkownika dostarczyć informacji podczas instalacji i pozwalasz programowi instalacji utworzyć plik UDL, który może zostać użyty później dla związków serwera. Dalej, zmienianie sznura związku nie wymagałyby, że rekompilacja od pliku UDL może zostać stracona, by wypuścić dialog własności łącza danych, by zmienić sznur związku. Możesz też pozwolić temu utworzyć interfejs, by pozwolić użytkownika wyszczególnić parametry, by zostać użyty, by utworzyć sznur związku i być człowiekiem sukcesu do serwera. Tworząc łącze danych (UDL) Pliki w Delphi - Sekcja 4: Bardziej nieudokumentowane procedury w ADODB Ale to jest nie wszystko, tam kilka bardziej nieudokumentowanych funkcji w ADODB.część taty, która może pomóc tobie unikają przydługiego workarounds. GetProviderNames procedury(Imię: Tstrings); Metoda GetProviderNames może zostać użyta, by zaaportować listę wszystkich dostarczycieli uchwytnych. Memo1.Clear; GetProviderNames(Memo1.Lines); GetDataLinkFiles procedury (Imię: Tstrings); Ta funkcja może zostać użyta, by odzyskać listę nazw zbioru obecnych w folderze DataLink (w moim przypadku folder łącza danych jest w C: folder DB FilesSystemOle FilesCommon Programu). Memo1.Clear; GetDataLinkFiles(Memo1.Lines); PromptDataSource funkcji(ParentHandle: THandle; InitialString: WideString): WideString; Ta funkcja może zostać użyta, by wychować okienko dialogowe własności DataLink i pozwolić użytkownikowi dostarczyć imienia źródła danych. Funkcja PromptDataSource zwraca wybrane imię źródła danych jako WideString. var ConxnStr:WideString; begin ConxnStr := PromptDataSource(Form1.Handle, ADOConnection1.ConnectionString); ..... end; PromptDataLinkFile funkcji(ParentHandle: THandle; InitialFile: WideString): WideString; Ta funkcja zwraca imię pliku i jego ścieżkę jako sznur. To może zostać zatrudnione, by pozwolić użytkownikowi wybrać datalink, by zostać użyty do związku. var dlfStr:WideString; begin dlfStr:=PromptDataLinkFile(Form1.Handle,''); .... end; Gra dookoła trochę z tymi nieudokumentowanymi procedurami zawarła w ADODB.plik części taty i ty dowiedzą się jak łatwy to ma utworzyć i zarządzać związki ADO w twoim podaniu Delphi twardy coding sznur związku albo pisząc długie i skomplikowane kody. DISCLAIMER: Zawartość dostarczona w tym artykule nie jest zagwarantowana albo jest gwarantowana przez Producenta Zrzucił, Inc. Zawartość dostarczona jest przeznaczona dla rozrywki i / albo edukacyjne cele żeby wprowadzić do pomysłów klucza czytelnika, pojęć i / albo przeglądy wyrobów. Jako taki to jest ciążące na czytelniku, by zatrudnić prawdziwy światową taktykę dla bezpieczeństwa i wprowadzania najlepszych praktyk. Jesteśmy nie odpowiedzialny za jakieś przeczące konsekwencje, który mogą być skutkiem wprowadzanie w życie jakąś informację zakopaną nasze artykuły albo podręczniki. Jeżeli to jest recenzja sprzętu komputerowego, to nie jest polecone, by otworzyć i / albo zmodyfikować twój sprzęt komputerowy.
|