Sdílet prostřednictvím


Zdroj dat: Programové nakonfigurování zdroje dat ODBC

Toto téma popisuje, jak je možné programově nakonfigurovat názvy zdroje dat otevřeného databázového rozhraní (ODBC).To poskytuje flexibilní přístup k datům bez nutnosti explicitního uživatelského specifikování názvů zdrojů dat ve správci rozhraní ODBC nebo v jiných programech.

Obvykle uživatel spustí správce rozhraní ODBC k vytvoření zdroje dat, pokud přidružený systém správy databáze tuto operaci podporuje.

Při vytváření zdroje dat Microsoft Access ODBC přes správce rozhraní ODBC máte dvě možnosti: můžete vybrat již existující soubor .mdb soubor nebo můžete vytvořit nový soubor .mdb.Neexistuje žádný programový způsob vytváření souboru .mdb z vaší MFC aplikace s rozhraním ODBC.Vyžaduje-li vaše aplikace umístit data do zdroje dat aplikace Microsoft Access (soubor .mdb), pravděpodobně budete chtít mít prázdný .mdb soubor, který lze použít nebo zkopírovat vždy, když ho potřebujete.

Nicméně mnoho DBMS umožňuje programové vytvoření zdroje dat.Některé zdroje dat zachovávají adresářovou specifikaci pro databáze.To znamená, že adresář představuje zdroj dat a každá tabulka v rámci zmíněného zdroje dat je uložena v samostatném souboru (v případě dBASE je každá tabulka v samostatném souboru s příponou .dbf).Ovladače jiných ODBC databází, jako je například aplikace Microsoft Access a SQL Server, vyžadují splnění některých specifických kritérií před samotným vytvořením zdroje dat.Například při použití serveru SQL ovladače rozhraní ODBC budete muset mít zavedený počítač serveru SQL.

Příklad SQLConfigDataSource

V následujícím příkladu se pomocí funkce :: SQLConfigDataSource rozhraní API ODBC vytvoří nový zdroj dat aplikace Excel s názvem New Excel Data Source:

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");

Všimněte si, že zdroj dat je ve skutečnosti adresář (C:\EXCELDIR); tento adresář musí existovat.Ovladač aplikace Excel používá adresáře jako své zdroje dat a soubory jako jednotlivé tabulky (jedna tabulka na jeden .xls soubor).

Další informace o vytváření tabulek naleznete v tématu Zdroj dat: Programové vytvoření tabulky ve zdroji dat rozhraní ODBC.

Následující informace popisují parametry, které je potřeba předávat funkci :: SQLConfigDataSource z rozhraní ODBC API.Chcete-li použít :: SQLConfigDataSource, je nutné zahrnout hlavičku souboru Odbcinst.h a použít importovanou knihovnu Odbcinst.lib.Také DLL knihovna Odbccp32.dll musí být zahrnuta v době běhu (nebo DLL knihovna Odbcinst.dll pro 16 bitů).

Můžete vytvořit název zdroje dat rozhraní ODBC za pomocí správce rozhraní ODBC nebo podobného nástroje.Někdy je však žádoucí vytvořit název zdroje dat přímo z vaší aplikace pro získání přístupu, aniž by uživatel spouštěl samostatný nástroj.

Správce rozhraní ODBC (obvykle nainstalován v Ovládacích panelech) vytváří nový zdroj dat vložením položky do registru systému Windows (nebo u 16bitových verzí do souboru Odbc.ini).Správce ovladačů rozhraní ODBC se dotazuje na tento soubor, aby získal požadované informace o zdroji dat.Je důležité vědět, jaké informace musí být umístěny v registru, protože je budete potřebovat poskytnout funkci :: SQLConfigDataSource při jejím volání.

Ačkoli tato informace může být přímo zapsána do registru bez použití ::SQLConfigDataSource, jakákoli aplikace, která tak učiní, se spoléhá na současnou techniku, kterou správce ovladačů používá k získání svých dat.Pokud bude pozdější změna správce ovladačů ODBC implementovat zachování záznamů z datového zdroje jiným způsobem, budou všechny aplikace používající tuto techniku nepoužitelné.Je obecně vhodné použít funkci rozhraní API, pokud je k dispozici.Například Váš kód je přenosný z 16bitového na 32bitový, pokud použijete funkci :: SQLConfigDataSource, protože funkce správně zapisuje do souboru Odbc.ini nebo do registru.

Parametry SQLConfigDataSource

Následující příklad vysvětluje parametry funkce :: SQLConfigDataSource.Většina informací je převzata z rozhraní ODBC API Programátorská reference dodávané s aplikací Visual C++ verze 1.5 a novější.

Prototyp funkce

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

Poznámky

Parametry a použití

  • hwndParent
    Okno, specifikované jako vlastník libovolného dialogového okna, je buď libovolným správcem ovladačů rozhraní ODBC nebo určitým specifickým ovladačem rozhraní ODBC vytvořeným k získání potřebných informací od uživatele o novém zdroji dat.Pokud parametr lpszAttributes neposkytuje dostatek informací, zobrazí se dialogové okno.Parametr hwndParent může mít hodnotu NULL.

  • lpszDriver
    Popis ovladače.Toto je název prezentovaný uživatelům, nikoli fyzický název ovladače (knihovna DLL).

  • lpszAttributes
    Seznam atributů ve formě "Název_klíče = hodnota".Tyto řetězce jsou odděleny znakem "null" a zakončeny dvěma po sobě jdoucími znaky "null" na konci seznamu.Tyto atributy jsou primárně určeny jako výchozí pro specifický ovladač položek, které jsou předávány do registrů jako nový zdroj dat.Jeden důležitý klíč, který není zmíněn v příručce k rozhraní ODBC API pro tuto funkci, je "DSN" ("data source name"), který určuje název nového zdroje dat.Zbývající položky jsou specifické pro ovladač pro nový zdroj dat.Často není nutné zadat všechny položky, protože ovladač může vyzvat uživatele k zadání nových hodnot přes dialogová okna. (Toto způsobí ponechání hodnoty NULL u parametru hwndParent.) Můžete explicitně poskytnout výchozí hodnoty, takže uživatel nebude vyzván.

Určení popisu ovladače pro parametr lpszDriver pomocí správce rozhraní ODBC

  1. Spusťte správce rozhraní ODBC.

  2. Klikněte na tlačítko Přidat.

To vám zobrazí seznam nainstalovaných ovladačů a jejich popis.Použijte tento popis jako parametr lpszDriver.Všimněte si, že používáte celý popis, jako například "Soubory aplikace Excel (*.xls)", včetně přípony souboru a závorky, pokud ovšem existují v popisu.

Alternativně můžete ověřit registr (nebo u 16bitové verze soubor Odbcinst.ini), který obsahuje seznam všech ovladačů a popisů, v klíči registru "Ovladače rozhraní ODBC" (nebo v oddíle [ovladače rozhraní ODBC] v souboru Odbcinst.ini).

Jedním ze způsobů, jak najít názvy klíčů a jejich hodnoty pro parametr lpszAttributes, je prozkoumat soubor Odbc.ini pro již nakonfigurovaný zdroj dat (např. ten, který byl nakonfigurován správcem rozhraní ODBC).

Vyhledání názvu klíčů a jejich hodnot pro parametr lpszAttributes

  1. Spusťte editor registrů systému Windows (nebo u 16bitové verze otevřete soubor Odbc.ini).

  2. Nalezněte informaci zdroje dat rozhraní ODBC použitím jedné z následujících variant:

    • U 32bitové verze vyhledejte klíč HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources v levém podokně.

      Pravý panel obsahuje seznam položek formuláře: "REG_SZ:<název zdroje dat>, kde <název zdroje dat> je zdroj dat, který již byl nakonfigurován s požadovaným nastavením pro ovladač, který chcete použít.Vyberte požadovaný zdroj dat, například SQL Server.Položky následující za řetězcem „pub:“ jsou názvem klíče a hodnotou (v tomto pořadí) určenými k použití spolu s parametrem lpszAttributes.

    • U 16bitové verze najděte oddíl v souboru Odbc.ini označený jako [<název zdroje dat>].

      Řádky následující tento řádek jsou ve tvaru "Název_klíče = hodnota".Jedná se přesně o položky vašeho parametru lpszAttributes.

Můžete také prozkoumat dokumentaci pro konkrétní ovladač, který hodláte použít.Užitečné informace naleznete v online nápovědě pro ovladač, která je přístupná po spuštění správce rozhraní ODBC.Tyto soubory nápovědy jsou obvykle umístěny v adresáři WINDOWS\SYSTEM u systémů Windows NT, Windows 3.1 nebo Windows 95.

Získání online nápovědy pro ovladač rozhraní ODBC

  1. Spusťte správce rozhraní ODBC.

  2. Klikněte na tlačítko Přidat.

  3. Vyberte název ovladače.

  4. Klikněte na tlačítko OK.

Jakmile správce rozhraní ODBC zobrazí informace o vytváření nového zdroje dat pro tento konkrétní ovladač, klepněte na tlačítko Nápověda.To otevře soubor s nápovědou pro tento konkrétní ovladač, který obvykle obsahuje důležité informace týkající se použití ovladače.

Viz také

Koncepty

Zdroj dat (ODBC)