INFORMACE: Jak povolit sdružování připojení v aplikaci ODBC

Překlady článku Překlady článku
ID článku: 164221 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Tento článek popisuje, jak povolit sdružování připojení ODBC aplikace.

Další informace

Microsoft ODBC verze 3.0 zavedla koncept sdružování připojení.
Sdružování připojení umožňuje aplikace ODBC znovu použít existující
připojení z fondu, takže aplikace ODBC nemá přejít
prostřednictvím procesu dokončení připojení libovolné následné připojení.

Při aplikaci ODBC odpojí připojení, připojení uložena
do fondu namísto skutečně odpojen. Jak dlouho zůstane toto připojení
ve fondu závisí na vlastnost CPTimeout ovladač ODBC. Pokud má
vyprší časový limit, zavřena a odebrána z fondu připojení. ODBC
aplikace můžete změnit hodnotu CPTimeout a to SQLConfigDriver
Hodnota se týká všech aplikací ODBC, které jsou pomocí zadané ovladač ODBC.

Výchozí hodnota CPTimeout je 60 sekund. Sdružování připojení je velmi užitečné, když aplikace ODBC jako Internetová
Server informace (například) připojí a odpojí často. Microsoft
Internet Information Server (IIS) verze 3.0 s ASP (Active Server Pages)
využívá sdružování připojení. Povolit sdružování připojení pro
Uživatelé IIS změnou hodnoty StartConnectionPool 1. StartConnectionPool je umístěn pod:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\ASP\Parameters
Aplikace ODBC můžete použít SQLSetEnvAttr povolit sdružování připojení. Následuje příklad jak povolit sdružování připojení v aplikaci ODBC:
   #include <windows.h>
   #include <stdio.h>
   #include <sql.h>
   #include <sqlext.h>

   void main()
   {
   SQLHENV   henv;
   SQLHDBC   hdbc;
   int       i=0;

   if (!SQL_SUCCEEDED(SQLSetEnvAttr(
      NULL,  // make process level cursor pooling
      SQL_ATTR_CONNECTION_POOLING,
      (SQLPOINTER)SQL_CP_ONE_PER_DRIVER,
      SQL_IS_INTEGER)))
   printf("SQLSetEnvAttr/SQL_ATTR_CONNECTION_POOLING error\n");

   if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv)))
      printf("SQLAllocHandle error\n");

   // set the ODBC behavior version.
   if (!SQL_SUCCEEDED(SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,
   (SQLPOINTER) SQL_OV_ODBC2, SQL_IS_INTEGER)))
      printf("SQLSetEnvAttr/SQL_ATTR_ODBC_VERSION error\n");

   //set the matching condition for using an existing connection in the
   pool
   if (!SQL_SUCCEEDED(SQLSetEnvAttr(henv, SQL_ATTR_CP_MATCH,
   (SQLPOINTER) SQL_CP_RELAXED_MATCH, SQL_IS_INTEGER)))
   printf("SQLSetEnvAttr/SQL_ATTR_CP_MATCH error\n");

while (i < 10) {
   if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC,
      henv, &hdbc)))
      printf("SQLAllocHandle error\n");
      if (!SQL_SUCCEEDED(SQLConnect(hdbc,
   (unsigned char*)"testing\0", SQL_NTS,
      (unsigned char*)"sa\0", SQL_NTS,
   (unsigned char*)"\0", SQL_NTS)))
      printf("SQLConnect error\n");
   else
      printf("Connect successfully %d times\n", i);
   //the first time, the application calls SQLDisconenct, it will return
                 //the connection to the //pool
   SQLDisconnect(hdbc);

   if (!SQL_SUCCEEDED(SQLFreeHandle(SQL_HANDLE_DBC, hdbc)))
      printf("SQLFreeHandle error\n");
   i++;
   }
   SQLFreeHandle(SQL_HANDLE_ENV, henv);
   }
				
při ODBC aplikace volá SQLDisconnect první, uložena do fondu připojení. První připojení budou znovu libovolné následné SQLConnect/SQLDisconnect odpovídající požadované podmínce.

Vlastnosti

ID článku: 164221 - Poslední aktualizace: 7. července 2000 - Revize: 1.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Open Database Connectivity 3.0
Klíčová slova: 
kbmt kbinfo kbprogramming KB164221 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:164221
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com