Cara mengaktifkan ODBC Connection Pooling pada Visual Basic ADO aplikasi

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 237844 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Secara default, ADO menggunakan OLEDB sesi penggabungan untuk mempertahankan kolam renang koneksi ke database. Dalam beberapa kasus, Anda mungkin ingin menggunakan ODBC sambungan penggabungan bukan OLEDB sesi penggabungan. Artikel ini menjelaskan apa diperlukan untuk memungkinkan koneksi ODBC penggabungan dari Visual Basic/ADO aplikasi.

Catatan Berikut ini hanya berlaku jika Anda menggunakan ODBC driver untuk koneksi ke database Anda.

INFORMASI LEBIH LANJUT

Agar ODBC connection pooling dari Visual Basic/ADO aplikasi, ada dua langkah yang diperlukan:
  1. Terbuka ODBC Data sumber Administrator dari kontrol panel. Pilih Connection Pooling tab. menemukan pengandar yang Anda gunakan dalam daftar dan Klik dua kali di atasnya. Pilih pilihan Kolam renang koneksi ke pengandar ini dan masukkan nilai timeout.

    Catatan Ini hanya berlaku untuk Administrator ODBC versi 3.5 atau nanti. Jika Anda menggunakan versi sebelumnya dari Administrator, maka Anda perlu untuk menemukan The CPTimeout nilai untuk Anda pengemudi dalam registri di bawah berikut kunci registri dan set nilai:
    HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/Driver_Name
    Untuk informasi lebih lanjut tentang pengaturan ini nilai registri, Silakan lihat dokumen berikut:
    http://msdn2.Microsoft.com/en-us/library/ms810829.aspx
    Langkah kedua adalah untuk menambahkan fungsi ODBC API panggilan untuk SQLSetEnvAttr dalam aplikasi Anda dengan pilihan yang cocok untuk mengaktifkan ODBC sambungan penggabungan untuk proses. Fungsi ini harus hanya disebut sekali setiap proses dan harus disebut sebelum mengeksekusi kode ADO. Di bawah ini adalah langkah-langkah yang diperlukan untuk menciptakan lengkap Visual Basic kode sampel menunjukkan ini:
    1. Membuat sebuah proyek Visual Basic Standard EXE yang baru. Form1 dibuat oleh default.
    2. Dari Project menu, pilih Referensi dan menambahkan referensi ke Objek Microsoft ActiveX Data.
    3. Pada formulir standar, Tambah CommandButton.
    4. Memotong dan paste kode berikut ke dalam bentuk. Anda perlu untuk memodifikasi rangkaian sambungan sehingga menghubungkan ke Anda database:

      Catatan Anda harus mengubah User ID =<user id=""> dan password =<strong password=""> untuk nilai-nilai yang benar sebelum Anda menjalankan kode ini. Pastikan bahwa ID pengguna memiliki izin yang sesuai untuk melakukan operasi ini pada database.</strong> </user>
      Option Explicit
      Dim rc As Long
      
      Const dbconnstring = "DSN=<Your DSN>;uid=<User ID>;pwd=<Strong Password>;OLE DB Services=-2"
      
      Const SQL_ATTR_CONNECTION_POOLING = 201
      Const SQL_CP_ONE_PER_DRIVER = 1
      Const SQL_IS_INTEGER = -6
      Const SQL_CP_OFF = 0
      
      Private Declare Function SQLSetEnvAttr Lib "odbc32.dll" ( _
                          ByVal EnvironmentHandle As Long, _
                          ByVal EnvAttribute As Long, _
                          ByVal ValuePtr As Long, _
                          ByVal StringLength As Long) As Integer
                          
      Private Sub Command1_Click()
          
          Dim SQL As String
         
          'Test connection pooling
          Dim i As Long
          For i = 1 To 10
              Dim cn As ADODB.Connection
              Set cn = New ADODB.Connection
              cn.Open dbconnstring
              cn.Close
              Set cn = Nothing
          Next
              
          MsgBox "Connection finished"
      
      End Sub
      
      Private Sub Form_Load()
          
          'Enable connection pooling ..  this must be done before any ADO calls
          'are made.  Only needs to occur one time per process
          rc = SQLSetEnvAttr(0&, _
                       SQL_ATTR_CONNECTION_POOLING, _
                       SQL_CP_ONE_PER_DRIVER, _
                       SQL_IS_INTEGER)
          If rc <> 0 Then
              Debug.Print "SQLSetEnvAttr Error " & rc
          End If
      
      End Sub
      
      Private Sub Form_Unload(Cancel As Integer)
              
          Call SQLSetEnvAttr(0&, _
                      SQL_ATTR_CONNECTION_POOLING, _
                      SQL_CP_OFF, _
                      SQL_IS_INTEGER)
      
      End Sub
      							
    5. Mengkompilasi proyek ke EXE. Sebelum menjalankan disusun EXE, Anda mungkin ingin menggunakan beberapa utilitas untuk memantau koneksi sedang dibuat untuk database. Dengan SQL Server 7.0, Anda dapat menggunakan Profiler (SQL Jejak dengan SQL Server 6,5). Jalankan program ini dan Anda akan melihat hanya satu sambungan dibuat ke database. Setiap sambungan berikutnya memanfaatkan ada koneksi di kolam renang.

Properti

ID Artikel: 237844 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Visual Basic 5.0 Enterprise Edition
Kata kunci: 
kbhowto kbmt KB237844 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:237844

Berikan Masukan

 

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