BILGI: Nasıl bağlantı havuzu oluşturma, bir ODBC uygulaması'nda etkinleştir

Makale çevirileri Makale çevirileri
Makale numarası: 164221 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Bu makalede bir ODBC uygulaması bağlantı havuzu etkinleştirme.

Daha fazla bilgi

Microsoft ODBC sürüm 3.0 bağlantı havuza alma kavramı kullanılmaya başlandı.
Bağlantı havuzu için bir ODBC uygulaması, varolan yeniden etkinleştirir
ODBC uygulama gitmek zorunda havuzu bağlantıdan
izleyen herhangi bir bağlantının tam bağlantı sürecinden.

Bir ODBC uygulaması bağlantı kestiğinde, bağlantı tarafından kaydedilir..
gerçekte yerine havuzu ile bağlantısı kesildi. Bu bağlantıyı ne kadar süreyle kalır
Havuzda ODBC sürücüsünün CPTimeout özelliği bağlıdır. Zaman
zaman aşımı süresi, bağlantı kapatıldı ve havuzdan kaldırıldı. ODBC
Uygulama SQLConfigDriver CPTimeout değer ve bunu değiştirmek için kullanabilirsiniz
değer, belirtilen ODBC sürücüsü kullanan tüm ODBC uygulamalar için geçerlidir.

CPTimeout için varsayılan değer 60 saniyedir. Bağlantı havuzu bir ODBC uygulaması, Microsoft ınternet gibi kullanışlıdır
Bilgi sunucusu (örneğin) bağlanır ve sık bağlantısını keser. Microsoft
Internet ınformation Server (IIS) sürüm 3.0 Active Server Pages (ASP) ile
Bağlantı havuzu oluşturma, yararlanır. Bağlantı havuzu oluşturma için etkinleştirme
StartConnectionPool değerini 1 olarak değiştirerek ııS'YI kullanıcılar. StartConnectionPool altında bulunur:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\ASP\Parameters
Bir ODBC uygulaması, SQLSetEnvAttr, bağlantı havuzu oluşturmayı etkinleştirmek için kullanabilirsiniz. Bağlantı havuzu oluşturma, ODBC uygulamayı etkinleştirmek bir örnek aşağıda verilmiştir:
   #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);
   }
				
, ODBC uygulaması ilk kez SQLDisconnect çağıran, bağlantı havuzuna kaydedilir. Bir sonraki SQLConnect/gerekli koşula uyan SQLDisconnect, ilk bağlantının yeniden.

Özellikler

Makale numarası: 164221 - Last Review: 7 Temmuz 2000 Cuma - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Open Database Connectivity 3.0
Anahtar Kelimeler: 
kbmt kbinfo kbprogramming KB164221 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:164221
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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