sql >> Database >  >> RDS >> Mysql

DSN-loze verbinding met mysql-server in ms-access zonder gebruikersnaam en wachtwoord te onthouden

Ik heb een antwoord gevonden met behulp van dit microsoft-artikel . In plaats van de RefreshLink-methode te gebruiken, verwijdert u de link en maakt u deze opnieuw met de optie dbAttachedODBC:

Public Sub relink_mysql_tables(mysql_connection As String)

Dim db As Database
Dim tblDef As TableDef
Dim sLocalTableName As String
Dim sRemoteTableName As String    

' new collection '
Dim newTableDefs As New Collection

' current database '
Set db = CurrentDb()

' create new table defs '
For Each tblDef In db.TableDefs
    If (tblDef.Attributes And TableDefAttributeEnum.dbAttachedODBC) Then
        sLocalTableName = tblDef.Name
        sRemoteTableName = tblDef.SourceTableName

        ' create new linked table def '
        Set tblDef = db.CreateTableDef(sLocalTableName, dbAttachSavePWD, sRemoteTableName, mysql_connection)
        newTableDefs.Add tblDef         

    End If
Next

' delete old table defs '
For Each tblDef In newTableDefs
    db.TableDefs.Delete tblDef.Name
Next

' add new table defs to current database '
For Each tblDef In newTableDefs
    db.TableDefs.Append tblDef
Next

De verbindingsreeks is hetzelfde als voorheen, maar met de toevoeging van het voorvoegsel "ODBC;":

ODBC;DRIVER={MySQL ODBC 5.1 Driver};Server=myserver;Database=mydatabase;Uid=myusername;Pwd=mypassword;Option=3



  1. GROUP BY en geaggregeerde sequentiële numerieke waarden

  2. Werkstroompatronen gebruiken om de status van een entiteit te beheren

  3. SQL Server 2008 Express CONCAT() bestaat niet?

  4. Waarom sluit je Android niet rechtstreeks aan op de database?