Makale numarası: 171146 - Son Gözden Geçirme: 15 Temmuz 2004 Perşembe - Gözden geçirme: 3.3

Nasıl oluşturulur ve DSN Visual Basic'te Kaldır

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Visual Basic 4.0'in 32-bit sürümünde DSN'siz bağlantılar kullanmak mümkündür, ancak bu sözdizimini ODBC 16-bit sürümü işleyebilir, Visual Basic 4.0 16-bit sürümünü bunun mümkün değildir, çünkü. Bu özelliği, dinamik olarak oluşturmak ve bir veri kaynağı adı (DSN) sözcüğünü ODBC API çağrısı kullanarak anında kaldırma öykünme olasıdır.

Aşağıdadır bir 16- ve 32-bit örnek bu teknik gösterilmiştir. Bu teknik, aşağıda açıklandığı gibi diğer kullanımlar olduğundan, 32-bit kodu bulunmaktaydı. Bu makalede sunulan 32-bit teknikleri, Visual Basic 5.0 için de geçerlidir.

Daha fazla bilgi

32-Bit ODBC kullanabilme DSN'siz bağlantı, birçok kullanımı vardır:
  1. Istemci kolaylığı. Kullanıcı merak bir DSN ayarlama, doğru şekilde yeniden adlandırma, ayar seçenekleri, vb. hakkındaki gerekmez. Tüm bu uygulama tarafından dinamik olarak yapılabilir.
  2. Bu, birçok JET alt yapısı bağlantı çözdü ve bağlantı dizesi sorunları önbelleğe alma.
  3. Uygulama esnekliğini artırır.
Tüm bu 16-bit ODBC oluşturarak ve hızlı bir DSN silme gerçekleşmiş. Bu yöntem, basit bir DSN yönetimi için de yararlıdır. Kod, otomatik olarak oluşturmak, değiştirmek veya herhangi bir anda bir DSN silmek için kullanılabilir. Visual Basic DBEngine.RegisterDatabase() yöntemini kullanarak bir DSN oluşturma yeteneği sağlamaz, ancak bu API, daha büyük işlevler ve değiştirmek ve DSN, aynı zamanda kaldırma olanağı sağlar.

Adım adım örnek

  1. Yeni bir proje başlatın.
  2. Araçlar menüsünün altında <a1>Seçenekler</a1> iletişim kutusunun Gelişmiş sekmesi, Visual Basic 4.0 16-bit kullanıyorsanız kullanarak, Visual Basic 4.0 32-bit ya da 0, 1'e eşit wın32 adlı bir koşullu derleme Argument ayarlayın.
  3. Iki CommandButtons varsayılan forma ekleyin.
  4. Aşağıdaki kodu için bir genel bildirimleri ekleyin:
          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&amp;  ' 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. Click olayı Command1 aşağıdaki kodu ekleyin:
          #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. Click olayı Command2 aşağıdaki kodu ekleyin:
          #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. Projeyi çalıştırın.
  8. Command1 DSN_TEMP adlı DSN eklemek için tıklatın.
  9. Command2 DSN_TEMP adlı DSN kaldırmak için Ek Yardım düğmesini tıklatın.

Referanslar

2.0 ODBC Programmer's Reference ve SDK Kılavuzu
Microsoft Press 1993
isbn 1-55615-658-8

(c) 1997 Microsoft Corporation, tüm hakları saklıdır. Tarafından katkıyı Troy Cambra, Microsoft Corporation

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto KB171146 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:171146  (http://support.microsoft.com/kb/171146/en-us/ )