Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Soulad
Zavedená verze: Dodržování standardů ODBC 1.0: ISO 92
Summary
SQLDataSources vrací informace o datovém zdroji. Tato funkce je implementována pouze Správcem ovladačů.
Syntax
SQLRETURN SQLDataSources(
SQLHENV EnvironmentHandle,
SQLUSMALLINT Direction,
SQLCHAR * ServerName,
SQLSMALLINT BufferLength1,
SQLSMALLINT * NameLength1Ptr,
SQLCHAR * Description,
SQLSMALLINT BufferLength2,
SQLSMALLINT * NameLength2Ptr);
Arguments
EnvironmentHandle
[Vstup] Ovládání prostředí.
Směr
[Vstup] Určuje, o kterém zdroji dat správce ovladačů vrací informace. Může to být:
SQL_FETCH_NEXT (pro načtení dalšího názvu datového zdroje v seznamu), SQL_FETCH_FIRST (pro načtení z počátku seznamu), SQL_FETCH_FIRST_USER (pro načtení prvního uživatelského DSN) nebo SQL_FETCH_FIRST_SYSTEM (pro získání prvního systémového DSN).
Když je Direction nastaven na SQL_FETCH_FIRST, následná volání SQLDataSources s nastaveným směrem na SQL_FETCH_NEXT vrátí jak uživatelské, tak systémové DSN. Když je Směr nastaven na SQL_FETCH_FIRST_USER, všechny následující volání SQLDataSources s nastaveným směrem na SQL_FETCH_NEXT vracejí pouze uživatelská DSN. Když je Direction nastaveno na SQL_FETCH_FIRST_SYSTEM, všechny následující volání SQLDataSources s nastaveným směrem na SQL_FETCH_NEXT vrátí pouze systémové DSN.
název serveru
[Výstup] Ukazatel na buffer, do kterého se vrátí název datového zdroje.
Pokud je ServerName NULL, NameLength1Ptr stále vrátí celkový počet znaků (kromě znaku null-termination pro data znaku), které lze vrátit v bufferu na který ukazuje ServerName.
BufferLength1
[Vstup] Délka bufferu *ServerName , v znacích; nemusí být delší než SQL_MAX_DSN_LENGTH plus znak nulového zakončení.
NameLength1Ptr
[Výstup] Ukazatel na buffer, do kterého se vrací celkový počet znaků (bez znaku null-termination), který je možné vrátit v *ServerName. Pokud je počet znaků dostupných k vrácení větší nebo roven BufferLength1, název zdroje dat v *ServerName je zkrácen na BufferLength1 minus délku znaku null-termination.
Description
[Výstup] Ukazatel na buffer, do kterého se vrátí popis ovladače spojeného se zdrojem dat. Například dBASE nebo SQL Server.
Pokud je Description NULL, NameLength2Ptr stále vrátí celkový počet znaků (kromě znaku null-termination pro data znaků), které lze vrátit v bufferu na který ukazuje Popis.
BufferLength2
[Vstup] Délka znaků *Popisového bufferu.
NameLength2Ptr
[Výstup] Ukazatel na buffer, do kterého se vrátí celkový počet znaků (bez znaku null-terminingu), které lze vrátit v *Popis. Pokud je počet znaků dostupných k vrácení větší nebo roven BufferLength2, popis ovladače v *Description je zkrácen na BufferLength2 minus délku znaku null-termination.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR nebo SQL_INVALID_HANDLE.
Diagnostika
Když SQLDataSources vrátí buď SQL_ERROR nebo SQL_SUCCESS_WITH_INFO, lze získat přidruženou hodnotu SQLeDiagRec voláním SQLGetDiagRec s HandleType SQL_HANDLE_ENV a HandleEnvironmentHandle. Následující tabulka uvádí hodnoty SQLSTATE, které SQLDataSources obvykle vrací, a vysvětluje každou z nich v kontextu této funkce; notace "(DM)" předchází popisům SQLstavů vráceným Správcem ovladačů. Návratový kód přidružený ke každé hodnotě SQLSTATE je SQL_ERROR, pokud není uvedeno jinak.
| SQLSTATE | Error | Description |
|---|---|---|
| 01000 | Obecné upozornění | (DM) Informační zpráva specifická pro Driver Manager. (Funkce vrátí SQL_SUCCESS_WITH_INFO.) |
| 01004 | Řetězcová data, zkrácená vpravo | (DM) Buffer *ServerName nebyl dostatečně velký pro vrácení úplného názvu datového zdroje. Proto bylo jméno zkráceno. Délka celého názvu datového zdroje se vrací v *NameLength1Ptr. (Funkce vrátí SQL_SUCCESS_WITH_INFO.) (DM) Buffer *Popis nebyl dostatečně velký, aby vrátil kompletní popis ovladače. Proto byl popis zkrácen. Délka popisu neomezeného datového zdroje se vrací v *NameLength2Ptr. (Funkce vrátí SQL_SUCCESS_WITH_INFO.) |
| HY000 | Obecná chyba | (DM) Došlo k chybě, pro kterou neexistoval specifický SQLSTATE a pro kterou nebyl definován implementace specifický SQLSTATE. Chybová zpráva vrácená nástrojem SQLGetDiagRec v vyrovnávací paměti *MessageText popisuje chybu a její příčinu. |
| HY001 | Chyba přidělení paměti | (DM) Správce ovladačů nebyl schopen přidělit paměť potřebnou k podpoře provádění nebo dokončení funkce. |
| HY010 | Chyba posloupnosti funkcí | (DM) SQLExecute, SQLExecDirect nebo SQLMoreResults byl volána pro StatementHandle a vrácena SQL_PARAM_DATA_AVAILABLE. Tato funkce byla volána před načtením dat pro všechny streamované parametry. |
| HY013 | Chyba správy paměti | Volání funkce nelze zpracovat, protože základní objekty paměti nelze získat přístup, pravděpodobně kvůli nedostatku paměti. |
| HY090 | Neplatná délka řetězce nebo vyrovnávací paměti | (DM) Hodnota zadaná pro argument BufferLength1 byla menší než 0. (DM) Hodnota zadaná pro argument BufferLength2 byla menší než 0. |
| HY103 | Neplatný kód pro získání | (DM) Hodnota určená pro argument Směr nebyla rovna SQL_FETCH_FIRST, SQL_FETCH_FIRST_USER, SQL_FETCH_FIRST_SYSTEM ani SQL_FETCH_NEXT. |
| HY117 | Připojení je pozastaveno kvůli neznámému stavu transakce. Jsou povoleny pouze funkce pro odpojení a jen pro čtení. | (DM) Další informace o pozastaveném stavu naleznete v tématu FUNKCE SQLEndTran. |
Comments
Protože je SQLDataSources implementován ve Správci ovladačů, je podporován pro všechny ovladače bez ohledu na dodržování standardů konkrétního ovladače.
Aplikace může SQLDataSources volat vícekrát, aby získala všechna jména datových zdrojů. Driver Manager získává tyto informace ze systémových informací. Když už nejsou žádná jména zdrojů dat, správce ovladačů SQL_NO_DATA vrátí. Pokud je SQLDataSources volán s SQL_FETCH_NEXT ihned po vrácení SQL_NO_DATA, vrátí název prvního datového zdroje. Pro informace o tom, jak aplikace využívá informace vrácené SQLDataSources, viz Výběr zdroje dat nebo ovladače.
Pokud je SQL_FETCH_NEXT předán SQLDataSources při prvním volání, vrátí název prvního datového zdroje.
Ovladač určuje, jak jsou názvy datových zdrojů mapovány na skutečné datové zdroje.
Související funkce
| Informace o | Podívejte se |
|---|---|
| Objevování a zaznamenání hodnot potřebných k připojení ke zdroji dat | Funkce SQLBrowseConnect |
| Připojení ke zdroji dat | Funkce SQLConnect |
| Připojení ke zdroji dat pomocí připojovací řetězec nebo dialogového okna | FUNKCE SQLDriverConnect |
| Vracející se popisy a atributy jezdců | Funkce SQLDrivers |