Windows 10 1803 e ODBC issue

Dopo l’aggiornamento a Windows 10 versione 1803 alcuni applicativi potrebbero non funzionare quando tentano di connettersi ad un database.

In particolare sembra che issue succede quanto si avvia l’applicazione da una share esposta da un file server mediante SMBv1 (come ad esempio Windows Server 2003 o NAS / file server Linux che utilizzano SMB 1) la quale non riesce a connettersi database Oracle o a istanze SQL Server tramite ODBC o tramite connessioni ADO SQL (OleDB). La stessa applicazione avviata da una share esposta da un file server mediante SMBv2 o successivo o da un percorso locale non presenta problemi.

Anche eseguendo le seguenti configurazioni l’issue continua a manifestarsi:

  • Abilitazione del client SMBv1 (si veda il mio post Windows 10 1709 e SMBv1)
  • Disabilitazione del firewall
  • Disabilitazione dell’antivirus

Al momento le uniche soluzioni possibili sono:

  1. Non utilizzare file server che utilizzino SMB 1, soluzione preferibile sia per ragioni di sicurezza, sia perché l’SMBv1 è stato sostituito dall’SMBv2 nel 2007 ed è stato deprecato nel 2014.
  2. Copiare le applicazioni che presentano questo issue in locale e avviarle da locale
  3. Non eseguire l’upgrade alla versione 1803 di Windows 10
  4. Installare come antivirus la versione gratuita di Avast o AVG, sembra infatti che con questi antivirus l’issue non si presenta.

Vari sono al momento le discussioni sui forum che trattano di questo issue, mentre non sembrano esserci ancora comunicazioni ufficiali di Microsoft a riguardo, né sembra che tra le novità di sicurezza della versione 1803 o tra le feature rimosse si faccia riferimento a qualcosa che potrebbe essere alla base di questo issue.

Per vedere se ci saranno sviluppi conviene monitorare le discussioni sui forum come ad esempio la seguente [RS4:1803]Windows 10 1803 won’t run ODBC SQL connected application from network in cui vari utenti hanno riportato le prove che hanno eseguito nei loro scenari.

Nella discussione After ugrade windows 10 pro from ver.1709 to 1803, our erp system cannot connect SQL Server
Tony Tao (MSFT CSG – Microsoft Contingent Staff) afferma che questo è un issue e che occorre attendere un update:

“Hi,

This is a hot issue, please waiting for the subsequent update.

Thank you for understanding.

Best Regards,

Tao”

Update 01:

Nella seguente discussione Kein Connect mehr nach Update Windows 10 Version 1803 sul forum tedesco dedicato a SQL Server un utente ha riportato che è riuscito a risolvere il problema interagendo col suo fornitore software che ha modificato l’applicativo.

Scendendo nel dettaglio l’applicazione eseguiva 2 accessi al database in successione, una prima connessione per verificare la correttezza della password di accesso (quindi molto probabilmente l’applicazione gestiva un’autenticazione custom) e una seconda connessione per accedere ad database con tale password che cessava di funzionare alla disconnessione della prima connessione.

 

“Hi zusammen,

unser Lieferant hat inzwischen seine Software angepaßt.

Zum Problem schrieb er uns:

Die Anwendung …. verwendet beim Start nacheinander 2 Anmeldungen, die erste zum Ermitteln des sicheren DB-Passworts, die zweite für die Anmeldung der Session mit diesem Passwort. Eine Verhaltensänderung im .Net Framework führte dazu, dass unmittelbar nach der Abmeldung der ersten Verbindung die Anmeldung der zweiten nicht mehr klappte.

Vielleicht hilft das ja auch anderen.

Grüßle aus TÜ

martin”

Update 02:

Nelle KB4103721 (OS Build 17134.48) dell’8 maggio 2018 e nella KB4100403 (OS Build 17134.81) del 23 maggio 2018 viene indicato che si possono presentare issue durante l’accesso di file o l’esecuzione di applicazioni memorizzarti in share SMBv1 e che Microsoft sta lavorando per rilasciare una soluzione nel mese di giugno:

“Some users running Windows 10 version 1803 may receive an error “An invalid argument was supplied” when accessing files or running programs from a shared folder using the SMBv1 protocol.”

 

“Microsoft is working on a resolution that will be available later in June.”