Con più domande
SQLSrv 2017 + Access engine 2016 - Faulting mso40uiwin32client.dll

Domanda
-
Buon sera a tutti, ben ritrovati
Faulting application name: sqlservr.exe, version: 2017.140.3022.28, time stamp: 0x5a7e97b7
Faulting module name: mso40uiwin32client.dll, version: 16.0.4519.1000, time stamp: 0x58bee1ae
Exception code: 0xc0000005
Fault offset: 0x000000000036137d
ho passato la giornata su questo problema, ma non trovo nessun appiglio.
Microsoft SQL Server 2017 (RTM-CU4) (KB4056498) - 14.0.3022.28 (X64) Feb 9 2018 19:39:09 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2012 Datacenter 6.2 <X64> (Build 9200: ) (Hypervisor)
Si tratta di una VM 2012 appena creata con tutte le patch da windows update installate. e sql 2017 anche lui fresco di stampa. Sempre sulla stessa VM girano i Reporting Services che al momento però non sembrano coinvolti. Uso l'ultima SSMS (ho provato sia in locale che remoto, non importa).
Scenario: accedo ad un file Excel con ado/odbc tipo "OPENROWSET('MSDASQL'..."
Tutto perfetto. un migliaio di righe sono visualizzate praticamente immediatamente
Rinfresco subito la query con F5, anche più volte: tutto ok nuovamente
Aspetto qualche minuto e rinfresco la query... CRASH di SQLServer (modulo mso40uiwin32client) e ripartenza
Ecco la query che uso:
SELECT * FROM OPENROWSET('MSDASQL', 'DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);FIL=excel 12.0 Xml;Pooling=False;DefaultDir=\\DFS\DataWarehouse\Spreadsheet.xlsx', 'SELECT * FROM [DWH_MIL$]')
Non ho idee su come andare avanti. Qualcuno ha una palla di vetro funzionante? :-)
Tutte le risposte
-
Ciao,
hai già provato con il file Spreadsheet.xlsx in locale?
Ho cercato un po' in rete.. si parla di un problema simile al tuo in questo thread:
https://tutel.me/c/programming/questions/44781883/cannot+have+excel+and+ssdt+in+the+same+machine
Hai installato anche tu SSDT ?
HTH
Sergio Govoni
Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn
- Modificato Sergio GovoniMVP, Moderator domenica 18 marzo 2018 22:01
-
Ciao Sergio, grazie non avevo trovato quel post.
Io però non uso SSDT. In questo momento ho "alleggerito" sino a fare la select riportata sopra con OPENROWSET, da SSMS, banale banale.
Il bello è che viene eseguita qualche volta. 1, 2, 3... Variabile. Poi si schianta l'engine.
Lo stesso codice gira senza problemi su una macchina win2008R2+SQLSrv2012
E ulteriore differenza Access Database Engine x64 che qui ho installato all'ultima versione 2016: ADE2016 mentre in produzione ho la 2010.
E' che non so proprio come fare un passo avanti...
-
il file di excel dove risiede ? sulla vm ? e tu da dove lo apri ?
il problema comunque sta nel driver di office per accedere a sql e non nel sql server
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it -
il file excel l'ho spostato in C per i test
il bello che il problema non si presenta il 100% delle volte. La SELECT OPENROWSET funziona almeno un paio di volte prima di schiantare il motore.
Cosa intendi "dove lo apri"? Io sono in SSMS e scrivo TSQL...
Tra l'altro sto provando sia "Microsoft.ACE.OLEDB.12.0" che il mio originale MSDASQL (che coinvolge ODBC), ma il comportamento è lo stesso :-(
E' sempre mso40uiwin32client.dll che si schianta
Ho cercato anche quella chiave di registro che citano nel tuo link... ma sul server manco ho la chiave "Office"!
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\UI Theme
Una strada che mi sembrava promettente, ma che non mi ha portato nulla è questa
https://stackoverflow.com/questions/37432816/microsoft-ace-oledb-12-0-bug-in-multithread-scenario
- Modificato pgfiore lunedì 19 marzo 2018 16:46
-
il file excel l'ho spostato in C per i test
il bello che il problema non si presenta il 100% delle volte. La SELECT OPENROWSET funziona almeno un paio di volte prima di schiantare il motore.
Cosa intendi "dove lo apri"? Io sono in SSMS e scrivo TSQL...
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it