Sdílet prostřednictvím


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

Toto téma vysvětluje, jak programově nakonfigurovat názvy zdrojů dat ODBC (Open Database Connectivity). To vám dává flexibilitu pro přístup k datům bez vynucení explicitního použití správce ODBC nebo jiných programů k určení názvů zdrojů dat.

Uživatel obvykle spustí správce ODBC a vytvoří zdroj dat, pokud přidružený systém pro správu databáze (DBMS) tuto operaci podporuje.

Při vytváření zdroje dat ODBC aplikace Microsoft Access prostřednictvím správce ODBC máte dvě možnosti: můžete vybrat existující soubor .mdb nebo můžete vytvořit nový .mdb soubor. Neexistuje žádný programový způsob vytvoření souboru .mdb z vaší aplikace MFC ODBC. Proto pokud vaše aplikace vyžaduje, abyste data umístili do zdroje dat Microsoft Accessu (.mdb souboru), pravděpodobně budete chtít mít prázdný .mdb soubor, který můžete použít nebo zkopírovat, kdykoli ho potřebujete.

Mnoho dbMS však umožňuje vytváření programových zdrojů dat. Některé zdroje dat udržují specifikaci adresáře pro databáze. To znamená, že adresář je zdrojem dat a každá tabulka v rámci zdroje dat je uložena v samostatném souboru (v případě dBASE, každá tabulka je souborem .dbf). Ovladače pro jiné databáze ODBC, například Microsoft Access a SQL Server, vyžadují, aby byla před vytvořením zdroje dat splněna určitá kritéria. Pokud například používáte ovladač ODBC systému SQL Server, musíte mít vytvořený počítač s SQL Serverem.

Příklad SQLConfigDataSource

Následující příklad používá ::SQLConfigDataSource funkci rozhraní ODBC API k vytvoření nového zdroje dat aplikace Excel s názvem Nový zdroj dat aplikace 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");

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

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

Následující informace popisuje parametry, které je potřeba předat do ::SQLConfigDataSource funkce rozhraní ODBC API. Chcete-li použít ::SQLConfigDataSource, musíte zahrnout soubor hlavičky Odbcinst.h a použít knihovnu import Odbcinst.lib. Také Odbccp32.dll musí být v cestě za běhu (nebo Odbcinst.dll pro 16bitovou verzi).

Název zdroje dat ODBC můžete vytvořit pomocí správce ODBC nebo podobného nástroje. Někdy je však žádoucí vytvořit název zdroje dat přímo z vaší aplikace, aby získal přístup, aniž by uživatel musel spustit samostatný nástroj.

Správce ODBC (obvykle nainstalovaný v Ovládací panely) vytvoří nový zdroj dat tak, že do souboru Odbc.ini vloží položky do registru Windows (nebo pro 16bitovou verzi). Správce ovladačů ODBC dotazuje tento soubor, aby získal požadované informace o zdroji dat. Je důležité vědět, jaké informace je třeba umístit do registru, protože je třeba je zadat voláním ::SQLConfigDataSource.

I když by tyto informace mohly být zapsány přímo do registru bez použití ::SQLConfigDataSource, jakákoli aplikace, která to dělá, spoléhá na aktuální techniku, kterou Správce ovladačů používá k údržbě svých dat. Pokud pozdější revize správce ovladačů ODBC implementuje uchovávání záznamů o zdrojích dat jiným způsobem, je poškozena jakákoli aplikace, která tuto techniku používá. Obecně je vhodné použít funkci rozhraní API, pokud je k dispozici. Kód je například přenositelný z 16bitové na 32bitovou verzi, protože ::SQLConfigDataSource funkce správně zapisuje do souboru Odbc.ini nebo do registru.

Parametry SQLConfigDataSource

Níže jsou vysvětleny parametry ::SQLConfigDataSource funkce. Většina informací pochází z reference programátora rozhraní ODBC API dodaného s Visual C++ verze 1.5 a novější.

Prototyp funkce

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

Poznámky

Parametry a využití

hwndParent
Okno určené jako vlastník všech dialogových oken, která správce ovladačů ODBC nebo konkrétní ovladač ODBC vytvoří, aby získal další informace od uživatele o novém zdroji dat. Pokud parametr lpszAttributes neposkytuje dostatek informací, zobrazí se dialogové okno. Parametr hwndParent může být NULL.

lpszDriver
Popis ovladače. Toto je název, který se uživatelům zobrazí místo názvu fyzického ovladače (knihovny DLL).

lpszAttributes
Seznam atributů ve tvaru "keyname=value". Tyto řetězce jsou odděleny ukončovacími znaky null se dvěma po sobě jdoucími ukončovacími znaky null na konci seznamu. Tyto atributy jsou primárně výchozí položky specifické pro ovladače, které přejdou do registru pro nový zdroj dat. Jedním z důležitých klíčů, který není zmíněn v odkazu rozhraní ODBC API pro tuto funkci, je DSN (název zdroje dat), který určuje název nového zdroje dat. Zbývající položky jsou specifické pro ovladač nového zdroje dat. Často není nutné zadávat všechny položky, protože ovladač může vyzvat uživatele s dialogovými okny pro nové hodnoty. (Nastavte hwndParent na hodnotu NULL, aby to způsobilo.) Je možné, že budete chtít explicitně zadat výchozí hodnoty, aby uživatel nebyl vyzván.

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

  1. Spusťte správce ROZHRANÍ ODBC.

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

Zobrazí se seznam nainstalovaných ovladačů a jejich popis. Tento popis použijte jako parametr lpszDriver . Všimněte si, že používáte celý popis, například "Soubory Aplikace Excel (*.xls)", včetně přípony názvu souboru a závorek, pokud v popisu existují.

Jako alternativu můžete prozkoumat registr (nebo pro 16bitovou verzi souboru Odbcinst.ini), který obsahuje seznam všech položek a popisů ovladačů v klíči registru "Ovladače ODBC" (nebo část [Ovladače ODBC] v Odbcinst.ini).

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

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

  1. Spusťte editor registru Systému Windows (nebo 16bitovou verzi otevřete soubor Odbc.ini).

  2. Informace o zdrojích dat ODBC najdete jedním z následujících způsobů:

    • V případě 32bitové verze vyhledejte klíč HKEY_CURRENT_USER\Software\ODBC\ODBC. INI\ODBC Zdroje dat v levém podokně.

      V pravém podokně jsou uvedeny položky formuláře: "pub: 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 za řetězcem "pub:" jsou v pořadí, název klíče a hodnota, které se mají použít v parametru lpszAttributes .

    • V případě 16bitové verze vyhledejte oddíl v souboru Odbc.ini označeném [<názvem> zdroje dat].

      Řádky následující za tímto řádkem jsou ve tvaru "keyname=value". Toto jsou přesně položky, které se mají použít v parametru lpszAttributes .

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

Získání online nápovědy pro ovladač 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 OK.

Když správce ODBC zobrazí informace pro vytvoření nového zdroje dat pro daný ovladač, klepněte na tlačítko Nápověda. Tím se otevře soubor nápovědy pro konkrétní ovladač, který obecně obsahuje důležité informace týkající se použití ovladače.

Viz také

Zdroj dat (ODBC)