ID Artikel: 171146 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0

Cara membuat dan menghapus DSN dalam Visual Basic

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Dalam versi 32-bit Visual Basic 4.0, mungkin untuk menggunakan DSN-kurang koneksi, tapi karena versi 16-bit ODBC tidak dapat menangani hal ini sintaks, hal ini tidak mungkin untuk melakukan hal ini dalam 16-bit versi Visual Basic 4.0. Mungkin untuk meniru kemampuan ini dengan secara dinamis membuat dan menghapus Data sumber nama (DSN) dengan cepat menggunakan SQLConfigDataSource ODBC API panggilan.

Berikut adalah 16- dan 32-bit contoh yang menunjukkan teknik ini. Kode 32-bit ini dimasukkan karena teknik ini memiliki kegunaan lain sebagai dijelaskan di bawah ini. Teknik 32-bit yang disajikan dalam artikel ini juga berlaku untuk Visual Basic 5.0.

INFORMASI LEBIH LANJUT

32-Bit ODBC kemampuan untuk menggunakan sambungan DSN-kurang memiliki banyak kegunaan:
  1. Klien kesederhanaan. Pengguna tidak perlu khawatir tentang pengaturan DSN, penamaan dengan benar, pengaturan pilihan, dll. Semua ini dapat dilakukan secara dinamis oleh aplikasi.
  2. Ini memecahkan banyak mesin JET koneksi dan menghubungkan string caching masalah.
  3. Meningkatkan fleksibilitas aplikasi.
Semua ini menggunakan dapat diwujudkan dalam 16-bit ODBC dengan menciptakan dan menghapus DSN on the fly. Metode ini juga berguna untuk sederhana DSN manajemen. The kode dapat digunakan untuk secara otomatis membuat, mengubah, atau menghapus DSN setiap waktu. Visual Basic menyediakan kemampuan untuk membuat DSN menggunakan DBEngine.RegisterDatabase() metode, tetapi API menyediakan lebih besar fungsionalitas dan kemampuan untuk mengubah dan menghapus DSN, juga.

Contoh langkah demi langkah

  1. Memulai sebuah proyek baru.
  2. Pada tab Lanjutan kotak dialog pilihan dalam Tools menu, menetapkan argumen kompilasi bersyarat yang bernama sama dengan 1 WIN32 jika menggunakan Visual Basic 4.0 32-bit, atau 0 jika menggunakan Visual Basic 4.0 16-bit.
  3. Menambahkan dua CommandButtons ke bentuk standar.
  4. Tambahkan kode berikut untuk deklarasi umum:
          Option Explicit
    
          'Constant Declaration
          Private Const ODBC_ADD_DSN = 1        ' Add data source
          Private Const ODBC_CONFIG_DSN = 2     ' Configure (edit) data source
          Private Const ODBC_REMOVE_DSN = 3     ' Remove data source
          Private Const vbAPINull As Long = 0&  ' NULL Pointer
    
          'Function Declare
          #If WIN32 Then
    
              Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
              (ByVal hwndParent As Long, ByVal fRequest As Long, _
              ByVal lpszDriver As String, ByVal lpszAttributes As String) _
              As Long
          #Else
              Private Declare Function SQLConfigDataSource Lib "ODBCINST.DLL" _
              (ByVal hwndParent As Integer, ByVal fRequest As Integer, ByVal _
              lpszDriver As String, ByVal lpszAttributes As String) As Integer
          #End If
    					
  5. Tambahkan kode berikut ke dalam kegiatan klik Command1:
          #If WIN32 Then
              Dim intRet As Long
          #Else
              Dim intRet As Integer
          #End If
          Dim strDriver As String
          Dim strAttributes As String
    
          'Set the driver to SQL Server because it is most common.
          strDriver = "SQL Server"
          'Set the attributes delimited by null.
          'See driver documentation for a complete
          'list of supported attributes.
          strAttributes = "SERVER=SomeServer" & Chr$(0)
          strAttributes = strAttributes & "DESCRIPTION=Temp DSN" & Chr$(0)
          strAttributes = strAttributes & "DSN=DSN_TEMP" & Chr$(0)
          strAttributes = strAttributes & "DATABASE=pubs" & Chr$(0)
          'To show dialog, use Form1.Hwnd instead of vbAPINull.
          intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, _
          strDriver, strAttributes)
          If intRet Then
              MsgBox "DSN Created"
          Else
              MsgBox "Create Failed"
          End If
    					
  6. Tambahkan kode berikut ke dalam kegiatan klik Command2:
          #If WIN32 Then
              Dim intRet As Long
          #Else
              Dim intRet As Integer
          #End If
          Dim strDriver As String
          Dim strAttributes As String
    
          'Set the driver to SQL Server because most common.
          strDriver = "SQL Server"
          'Set the attributes delimited by null.
          'See driver documentation for a complete list of attributes.
          strAttributes = "DSN=DSN_TEMP" & Chr$(0)
          'To show dialog, use Form1.Hwnd instead of vbAPINull.
          intRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, _
          strDriver, strAttributes)
          If intRet Then
              MsgBox "DSN Deleted"
          Else
              MsgBox "Delete Failed"
          End If
    					
  7. Menjalankan proyek.
  8. Klik Command1 untuk menambahkan DSN bernama DSN_TEMP.
  9. Klik Command2 untuk menghapus DSN bernama DSN_TEMP.

REFERENSI

ODBC 2.0 Programmer referensi dan panduan SDK
Microsoft Press 1993
ISBN 1-55615-658-8

(c) Microsoft Corporation 1997, All Rights Reserved. Kontribusi oleh Troy Cambra, Microsoft Corporation

Berlaku bagi:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Kata kunci: 
kbhowto kbmt KB171146 KbMtid
Penerjemahan MesinPenerjemahan 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:171146  (http://support.microsoft.com/kb/171146/en-us/ )