Jak utworzyć nazwę DSN systemu dostępu za pomocą narzędzia SQLConfigDataSource

Zaawansowane: wymaga specjalistycznego kodowania, współdziałania i wielodostępnych umiejętności.

Ten artykuł dotyczy bazy danych programu Microsoft Access (.mdb lub accdb) oraz projektu programu Microsoft Access (.adp).

Podsumowanie

Nie można utworzyć systemowej nazwy DSN przy użyciu metody RegisterDatabase. Aby utworzyć systemową nazwę DSN, użyj wywołania interfejsu API ODBC dla elementu SQLConfigDataSource.

Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika.

Więcej informacji

W poniższym przykładzie użyto wywołania interfejsu API dla elementu SQLConfigDataSource w celu utworzenia sieci DSN systemu. Przykład tworzy źródło danych dla przykładowej bazy danych Northwind.mdb, gdy baza danych znajduje się w C:\Northwind.mdb.

  1. Skopiuj przykładową bazę danych Northwind.mdb do katalogu głównego dysku C.
  2. Utwórz nową bazę danych programu Access.
  3. Utwórz moduł i wpisz następujące wiersze w sekcji Deklaracje:
Option Explicit
Const ODBC_ADD_SYS_DSN = 4       'Add data source
Const ODBC_CONFIG_SYS_DSN = 5    'Configure (edit) data source
Const ODBC_REMOVE_SYS_DSN = 6    'Remove data source

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

  1. Wpisz następującą procedurę:
Function Build_SystemDSN(DSN_NAME As String, Db_Path As String)

Dim ret%, Driver$, Attributes$

Driver = "Microsoft Access Driver (*.MDB)" & Chr(0)
   Attributes = "DSN=" & DSN_NAME & Chr(0)
   Attributes = Attributes & "Uid=Admin" & Chr(0) & "pwd=" & Chr(0)
   Attributes = Attributes & "DBQ=" & Db_Path & Chr(0)

ret = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Driver, Attributes)

'ret is equal to 1 on success and 0 if there is an error
   If ret <> 1 Then
       MsgBox "DSN Creation Failed"
   End If

End Function

  1. W oknie Natychmiastowe wpisz następujący wiersz, a następnie naciśnij klawisz ENTER:

    ? Build_SystemDSN("My SampleDSN","c:\Northwind.mdb")

  2. Kliknij przycisk Start, wskaż pozycję Ustawienia, a następnie kliknij pozycję Panel sterowania.

  3. W Panel sterowania kliknij pozycję Źródła danych ODBC, źródła danych ODBC (32-bitowe) lub 32-bitowe ODBC.

  4. Kliknij kartę System DSNtab. Zwróć uwagę, że nazwa My SampleDSN została dodana do listy Systemowe źródła danych.