Źródło danych: programowe konfigurowanie źródła danych ODBC

W tym temacie opisano sposób programowego konfigurowania nazw źródeł danych Open Database Połączenie ivity (ODBC). Zapewnia to elastyczność dostępu do danych bez wymuszania jawnego używania Administracja istratora ODBC lub innych programów w celu określenia nazw źródeł danych.

Zazwyczaj użytkownik uruchamia narzędzie ODBC Administracja istrator w celu utworzenia źródła danych, jeśli skojarzony system zarządzania bazami danych (DBMS) obsługuje tę operację.

Podczas tworzenia źródła danych ODBC programu Microsoft Access za pośrednictwem Administracja istratora ODBC można wybrać dwa opcje: możesz wybrać istniejący plik mdb lub utworzyć nowy plik mdb. Nie ma programowego sposobu tworzenia pliku mdb z poziomu aplikacji MFC ODBC. W związku z tym jeśli aplikacja wymaga umieszczenia danych w źródle danych programu Microsoft Access (plik mdb), najprawdopodobniej chcesz mieć pusty plik mdb, którego można użyć lub skopiować zawsze, gdy jest to potrzebne.

Jednak wiele zestawów DBMS zezwala na programowe tworzenie źródła danych. Niektóre źródła danych utrzymują specyfikację katalogu dla baz danych. Oznacza to, że katalog jest źródłem danych, a każda tabela w źródle danych jest przechowywana w osobnym pliku (w przypadku bazy danych dBASE każda tabela jest plikiem dbf). Sterowniki dla innych baz danych ODBC, takich jak Microsoft Access i SQL Server, wymagają spełnienia określonych kryteriów przed ustanowieniem źródła danych. Na przykład w przypadku używania sterownika ODBC programu SQL Server należy ustanowić komputer z programem SQL Server.

Przykład sqlConfigDataSource

W poniższym przykładzie użyto funkcji interfejsu ::SQLConfigDataSource API ODBC do utworzenia nowego źródła danych programu Excel o nazwie Nowe źródło danych programu Excel:

SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Excel Files (*.xls)",
                   "DSN=New Excel Data Source\0"
                   "Description=New Excel Data Source\0"
                   "FileType=Excel\0"
                   "DataDirectory=C:\\EXCELDIR\0"
                   "MaxScanRows=20\0");

Należy pamiętać, że źródło danych jest katalogiem (C:\EXCELDIR); ten katalog musi istnieć. Sterownik programu Excel używa katalogów jako źródeł danych i plików jako pojedynczych tabel (jednej tabeli na plik xls).

Aby uzyskać więcej informacji na temat tworzenia tabel, zobacz Źródło danych: Programowe tworzenie tabeli w źródle danych ODBC.

Poniższe informacje zawierają omówienie parametrów, które należy przekazać do funkcji interfejsu ::SQLConfigDataSource API ODBC. Aby użyć ::SQLConfigDataSourcepolecenia , należy dołączyć plik nagłówka Odbcinst.h i użyć biblioteki importu Odbcinst.lib. Ponadto biblioteka Odbccp32.dll musi znajdować się w ścieżce w czasie wykonywania (lub Odbcinst.dll dla 16 bitów).

Możesz utworzyć nazwę źródła danych ODBC przy użyciu Administracja istratora ODBC lub podobnego narzędzia. Jednak czasami pożądane jest utworzenie nazwy źródła danych bezpośrednio z aplikacji w celu uzyskania dostępu bez konieczności uruchamiania oddzielnego narzędzia przez użytkownika.

Narzędzie ODBC Administracja istrator (zazwyczaj zainstalowane w Panel sterowania) tworzy nowe źródło danych, umieszczając wpisy w rejestrze systemu Windows (lub w przypadku 16 bitów w pliku Odbc.ini). Menedżer sterowników ODBC wysyła zapytanie do tego pliku w celu uzyskania wymaganych informacji o źródle danych. Ważne jest, aby wiedzieć, jakie informacje należy umieścić w rejestrze, ponieważ należy podać je za pomocą wywołania metody ::SQLConfigDataSource.

Mimo że te informacje mogą być zapisywane bezpośrednio w rejestrze bez użycia ::SQLConfigDataSourcemetody , każda aplikacja, która to robi, polega na bieżącej technice używanej przez menedżera sterowników do przechowywania danych. Jeśli późniejsza wersja menedżera sterowników ODBC implementuje rejestrowanie źródeł danych w inny sposób, każda aplikacja korzystająca z tej techniki zostanie przerwana. Ogólnie zaleca się użycie funkcji interfejsu API, gdy jest ona udostępniana. Na przykład kod jest przenośny z 16-bitowego do 32-bitowego, jeśli używasz ::SQLConfigDataSource funkcji, ponieważ funkcja poprawnie zapisuje w pliku Odbc.ini lub w rejestrze.

Parametry sqlConfigDataSource

Poniżej wyjaśniono parametry ::SQLConfigDataSource funkcji. Większość informacji pochodzi z dokumentacji programisty interfejsu API ODBC dostarczonej z programem Visual C++ w wersji 1.5 lub nowszej.

Prototyp funkcji

BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);

Uwagi

Parametry i użycie

hwndParent
Okno określone jako właściciel dowolnych okien dialogowych, które są tworzone przez Menedżera sterowników ODBC lub określonego sterownika ODBC w celu uzyskania dodatkowych informacji od użytkownika o nowym źródle danych. Jeśli parametr lpszAttributes nie dostarcza wystarczającej ilości informacji, zostanie wyświetlone okno dialogowe. Parametr hwndParent może mieć wartość NULL.

lpszDriver
Opis sterownika. Jest to nazwa przedstawiona użytkownikom, a nie nazwa sterownika fizycznego (DLL).

lpszAttributes
Lista atrybutów w postaci "keyname=value". Te ciągi są oddzielone terminatorami o wartości null z dwoma kolejnymi terminatorami o wartości null na końcu listy. Te atrybuty są przede wszystkim domyślnymi wpisami specyficznymi dla sterownika, które przechodzą do rejestru dla nowego źródła danych. Ważnym kluczem, który nie został wymieniony w dokumentacji interfejsu API ODBC dla tej funkcji, jest "DSN" ("nazwa źródła danych"), który określa nazwę nowego źródła danych. Pozostałe wpisy są specyficzne dla sterownika dla nowego źródła danych. Często nie jest konieczne podanie wszystkich wpisów, ponieważ sterownik może monitować użytkownika z oknami dialogowymi o nowe wartości. (Ustaw wartość hwndParent na wartość NULL, aby to spowodować). Możesz jawnie podać wartości domyślne, aby użytkownik nie był monitowany.

Aby określić opis sterownika dla parametru lpszDriver przy użyciu Administracja istratora ODBC

  1. Uruchom Administracja istrator ODBC.

  2. Kliknij pozycję Dodaj.

Zapewnia to listę zainstalowanych sterowników i ich opisów. Użyj tego opisu jako parametru lpszDriver . Należy pamiętać, że używasz całego opisu, takiego jak "Pliki programu Excel (*.xls)", w tym rozszerzenie nazwy pliku i nawiasy, jeśli istnieją w opisie.

Alternatywnie można zbadać rejestr (lub w przypadku 16-bitowego pliku Odbcinst.ini), który zawiera listę wszystkich wpisów i opisów sterowników w kluczu rejestru "Sterowniki ODBC" (lub sekcji [Sterowniki ODBC] w odbcinst.ini).

Jednym ze sposobów znalezienia nazw kluczy i wartości parametru lpszAttributes jest zbadanie pliku Odbc.ini dla już skonfigurowanego źródła danych (być może taki, który został skonfigurowany przez odBC Administracja istrator).

Aby znaleźć nazwy kluczy i wartości parametru lpszAttributes

  1. Uruchom edytor rejestru systemu Windows (lub, dla 16-bitowego, otwórz plik Odbc.ini).

  2. Znajdź informacje o źródłach danych ODBC, korzystając z jednego z następujących elementów:

    • W przypadku 32-bitowej znajdź klucz HKEY_CURRENT_USER\Software\ODBC\ODBC. Źródła danych INI\ODBC w okienku po lewej stronie.

      W okienku po prawej stronie są wyświetlane wpisy formularza: "pub: REG_SZ:<nazwa> źródła danych", gdzie< nazwa> źródła danych jest źródłem danych, które zostało już skonfigurowane z żądanymi ustawieniami sterownika, którego zamierzasz użyć. Wybierz żądane źródło danych, na przykład program SQL Server. Elementy następujące po ciągu "pub:" są w kolejności kluczname i wartość do użycia w parametrze lpszAttributes .

    • W przypadku 16-bitowej sekcji znajdź w pliku Odbc.ini oznaczonym przez [<nazwę> źródła danych].

      Wiersze następujące po tym wierszu mają postać "keyname=value". Są to dokładnie wpisy do użycia w parametrze lpszAttributes .

Warto również zapoznać się z dokumentacją konkretnego sterownika, którego zamierzasz użyć. Przydatne informacje można znaleźć w pomocy online dla sterownika, do którego można uzyskać dostęp, uruchamiając Administracja istrator ODBC. Te pliki Pomocy są zwykle umieszczane w katalogu WINDOWS\SYSTEM dla systemu Windows NT, Windows 3.1 lub Windows 95.

Aby uzyskać pomoc online dla sterownika ODBC

  1. Uruchom Administracja istrator ODBC.

  2. Kliknij pozycję Dodaj.

  3. Wybierz nazwę sterownika.

  4. Kliknij przycisk OK.

Gdy Administracja istrator ODBC wyświetla informacje dotyczące tworzenia nowego źródła danych dla tego konkretnego sterownika, kliknij przycisk Pomoc. Spowoduje to otwarcie pliku Pomocy dla tego konkretnego sterownika, który zazwyczaj zawiera ważne informacje dotyczące używania sterownika.

Zobacz też

Źródło danych (ODBC)