sql >> Databasteknik >  >> RDS >> Mysql

DSN-fri anslutning till mysql-server i ms-access kommer inte ihåg användarnamn och lösenord

Jag hittade ett svar med hjälp av denna microsoft-artikel . Istället för att använda RefreshLink-metoden, ta bort och återskapa länken med alternativet 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

Anslutningssträngen är densamma som tidigare men med tillägg av prefixet "ODBC;":

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



  1. Benchmarking manuella databasdistributioner kontra automatiserade distributioner

  2. Konvertera "datetimeoffset" till "date" i SQL Server (T-SQL-exempel)

  3. SQL uppdatera en kolumn från en annan kolumn i en annan tabell

  4. Sök MySQL med PHP och visa resultat på samma sida