DoCmd.TransferDatabase acLink ….. non funziona più

di il
2 risposte

DoCmd.TransferDatabase acLink ….. non funziona più

Da alcuni giorni questa istruzione sempre funzionante non funziona più:

Ho 2 server:

-          server WINDOWS Server 2019 Standard sul quale risiedono i file .accdb;

-          server LINUX con installato MariaDB sul quale vengono create le tabelle

Il software ACCESS 2013 è installato in locale su PC. Il file .ACCDB che esegue DoCmd.TransferDatabase acLink …..è residente su server WINDOWS Server 2019 Standard

Il Server=172.16.12.195 è una macchina LINUX sulla quale è installato MariaDB

Da sito MariaDB, considerato il più stabile, Il connettore ODBC installato è mariadb-connector-odbc-3.2.7-win64

Questa istruzione eseguita in automatico da bottone ACCESS

strConn = "Driver={MariaDB ODBC 3.2 Driver}; Server=172.16.12.195; Database=temp; UID=root; PWD=xxxxx; Port=3306; OPTION=3;"

DoCmd.TransferDatabase acLink, "ODBC", "ODBC;" & strConn, acTable, "nometabella", "nome_tabella"

 restituisce il seguente errore:

Errore di run-time 3146 ODBC: chiamata non riuscita [ma-3.2.7][11.4.4-MariaDB -ubu2404]Query execution was interrupted (max_statement_time exceeded ) (#1969)

L’istruzione, DoCmd.TransferDatabase acLink …..non solo restituisce l’errore sopra indicato, ma corrompe tutto Database=temp presente su server LINUX. La tabella che dovrebbe collegare è una tabella molto piccola di 40 righe. Il max_statement_time exceeded non ha alcun senso.

Se il collegamento della tabella "nometabella" viene fatto manualmente da Access non dà alcun problema.

2 Risposte

  • Re: DoCmd.TransferDatabase acLink ….. non funziona più

    Spero tu abbia installato il DRIVER corretto, 32 Vs 64bit a seconda di cosa stai usando.

    Hai provato, al posto di usare TransferDatabase, ad usare DAO..?

    Dim tdf 	As DAO.TableDef
    Dim strConn	As String
    
    With  DbEngine(0)(0)
    	Set tdf =.CreateTableDef
    	tdf.Connect = strConn 
    	tdf.SourceTableName =  "nometabella"
    	tdf.Name = "nome_tabella"
    	.TableDefs.Append tdf
    	' se ne devi Linkare altre le metti quì, alla fine fai il Refresh
    	.TableDefs.Refresh
    End with

    Io farei una LocalTable nella quale metti i dati utili ad effettuare un Ciclo...

  • Re: DoCmd.TransferDatabase acLink ….. non funziona più

    "...Il software ACCESS 2013 è installato in locale su PC. Il file .ACCDB che esegue DoCmd.TransferDatabase acLink..."

    Par di capire che Access e' su pc1, mentre il file Accdb col codice (che viene eseguito da Access su pc1) e' sul pc2 con Windows Server 2019, e' corretto?  Se usi un driver MariaDb versione a 64bit vuol dire che su pc1 stai usando un Access 2013 64bit, giusto?

    Se prima andava e poi con va piu' deve essere cambiato qualcosa

    Una cosa che frequentemente cambia ma non ci si accorge sono gli aggiornamenti automatici di Windows, hai verificato aggiornamenti recenti e provato a disinstallarli, sia lato pc1 che pc2?

    Facce sape'

Devi accedere o registrarti per scrivere nel forum
2 risposte