Så här använder du SQLConfigDataSource för att skapa ett Access-system-DSN

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Avancerat: Kräver expertkodning, interoperabilitet och fleranvändarfärdigheter.

Den här artikeln gäller en Microsoft Access-databas (.mdb eller accdb) och ett Microsoft Access-projekt (.adp).

Sammanfattning

Du kan inte skapa ett system-DSN med metoden RegisterDatabase. Om du vill skapa ett system-DSN använder du ODBC API-anropet för SQLConfigDataSource.

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov.

Mer information

I följande exempel används API-anropet för SQLConfigDataSource för att skapa ett system-DSN. Exemplet skapar en datakälla för exempeldatabasen Northwind.mdb när databasen finns på C:\Northwind.mdb.

  1. Kopiera exempeldatabasen Northwind.mdb till rotkatalogen på enhet C.
  2. Skapa en ny Access-databas.
  3. Skapa en modul och skriv följande rader i avsnittet Deklarationer:
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. Skriv in följande 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. I direktfönstret skriver du följande rad och trycker sedan på RETUR:

    ? Build_SystemDSN("Mitt exempelDATA";"c:\Northwind.mdb")

  2. Klicka på Start, peka på Inställningar och klicka sedan på Kontrollpanelen.

  3. I Kontrollpanelen klickar du på ODBC-datakällor, ODBC-datakällor (32-bitars) eller 32-bitars ODBC.

  4. Klicka på fliken System-DSN. Observera att Mina exempeldatakällor har lagts till i listan Systemdatakällor.