Der Zugriff auf den MS-SQL Server via ADO ist vielen bekannt. Wie sieht es aber aus, wenn man noch den DAO-Datenbankzugriff verwendet? In diesem Fall muss man beim Aufruf der "OpenDatabase"-Methode einen korrekten Connection-String mit Angabe eines DSN-Verbindungseintrags angeben: Dim sConn As String sConn = "ODBC;DSN=DSN_NAME;uid=sa;pwd=password" Set oDB = DBEngine.OpenDatabase("DSN_NAME", dbDriverNoPrompt, False, sConn) Für den Zugriff auf den MS-SQL Server via DAO muss also immer ein DSN-Verbindungseintrag im ODBC-Datenquellen-Manager existieren. Dieser kann natürlich manuell erstellt werden, was jedoch nicht immer dem Anwender zugemutet werden kann. Über die RegisterDatabase-Methode von DAO lässt sich der DSN-Verbindungseintrag auch bequem per Code erstellen. Existiert der Eintrag bereits, wird dieser mit den neuen Parameter aktualisiert, andernfalls wird der Eintrag neu erstellt. ' DSN-Verbindungseintrag erstellen/aktualisieren Public Function MakeDSNForSQLServer(ByVal sDSNName As String, _ ByVal sServer As String, _ ByVal sDatabase As String, _ ByVal sDescription As String) As Boolean On Error Resume Next Err.Clear DBEngine.RegisterDatabase sDSNName, "SQL Server", True, _ "Database=" & sDatabase & vbCr & _ "Description=" & sDescription & vbCr & _ "Server=" & sServer MakeDSNForSQLServer = (Err.Number = 0) On Error Goto 0 End Function Beispiel für den Aufruf: Dim sDSNName As String Dim sServer As String Dim sDatabase As String Dim sDescription As String Dim oDB As DAO.Database ' Name der DSN-Verbindung sDSNName = "TEST" ' SQL-Server sServer = Environ$("COMPUTERNAME") & "\SQL2000" ' Name der SQL-Datenbank sDatabase = "TESTDB" ' Beschreibung der DSN-Verbindung sDescription = "Testverbindung zum SQL-Server" ' DSN-Verbindungseintrag erstellen/aktualisieren If MakeDSNForSQLServer(sDSNName, sServer, sDatabase, sDescription) Then ' Verbindung über DSN-Eintrag herstellen Dim sConn As String sConn = "ODBC;DSN=" & sDSNName & ";uid=sa;pwd=Password" Set oDB = DBEngine.OpenDatabase(sDSNName, dbDriverNoPrompt, False, sConn) ... Else MsgBox "Fehler beim Einrichten/Aktualisieren der DSN-Verbindung" & vbCrLf & _ CStr(Err.Number) & " " & Err.Description, vbExclamation + vbOKOnly End If Dieser Tipp wurde bereits 25.895 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |