66 messaggi dal 19 ottobre 2012
Buongiorno a tutti,
ho necessita' di programmare un import di un file Excel in una tabella Sql giornalmente con accodamento dati.
La query che vorrei inserire in un Job e' questa:

use DBImport
go
select * into [Import]
from opendatasource('microsoft.ace.oledb.12.0', 'data s database=c:\.........\Incident.xlsx')... [sheet1$];
go

ma mi viene restituito il seguente errore:
The 32-bit OLE DB provider "microsoft.ace.oledb.12.0" cannot be loaded in-process on a 64-bit SQL Server.

Ho provato ad installare il Microsoft Access database engine 2016 a 32 bit ma nulla è cambiato. Come versione ho Office 2016 32 bit e SQL a 64 bit

Potete darmi una mano?
Vi ringrazio anticipatamente

Giorgio B.
________________________________
11.881 messaggi dal 09 febbraio 2002
Contributi
Ciao Giorgio,
prova a installare il provider a 64 bit, dato che l'errore cita il fatto che quello a 32 bit non va bene.

The 32-bit OLE DB provider "microsoft.ace.oledb.12.0" cannot be loaded in-process on a 64-bit SQL Server.


Dopo ce l'hai installato, devi far girare anche l'applicazione in un application pool a 64 bit, come vedi in questa immagine, ma solo se sei sicuro che questo non causerà effetti collaterali. Ad esempio: perché l'applicazione sta girando a 32 bit su una macchina a 64 bit, in primo luogo?

Comunque, io sono sempre dell'idea che la soluzione migliore per leggere i file excel sia usare la libreria NPOI, che non richiede l'installazione di alcun provider.
Leggi qui:
http://forum.aspitalia.com/forum/post/409182/Libreria-NPOI.aspx

Leggi alcune righe alla volta e poi inseriscile in sql server usando SqlBulkCopy.WriteToServer.


ciao,
Moreno
Modificato da BrightSoul il 20 marzo 2018 18.58 -

Enjoy learning and just keep making
66 messaggi dal 19 ottobre 2012
Ciao Moreno,
grazie per la risposta dell'altro giorno. Alla fine dal complicarmi la vita sono passato alla semplificazione utilizzando il comando Bulk Insert e in 3 minuti ho risolto il mio problema.
Comunque voglio approfondire quello che mi hai suggerito.
Grazie ancora

Giorgio B.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.