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.
- Kopiera exempeldatabasen Northwind.mdb till rotkatalogen på enhet C.
- Skapa en ny Access-databas.
- 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
- 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
I direktfönstret skriver du följande rad och trycker sedan på RETUR:
? Build_SystemDSN("Mitt exempelDATA";"c:\Northwind.mdb")
Klicka på Start, Inställningar och klicka sedan på Kontrollpanelen.
I Kontrollpanelen klickar du på ODBC-datakällor, ODBC-datakällor (32-bitars) eller 32-bitars ODBC.
Klicka på fliken System-DSN. Observera att Mina exempeldatakällor har lagts till i listan Systemdatakällor.