Openrowset

giovedì 26 agosto 2010 - 11.32

trappy Profilo | Newbie

salve a tutti, sto usando sql 2005 e ho la necessità di importare alcuni dati di un foglio excel in database di sql. Utilizzando openrowset funziona tutto se il foglio excel è in una cartella del server sql, mentre se lo metto in una cartella di rete mappata non mi funziona. Suggerimenti?

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=V:\Progetto\Negozi\ANAGRAFICA ARTICOLI\articoli-Материалы.xls; ',
'SELECT * FROM [Лист1$]')

mi restituisce l'errore
Msg 7399, Level 16, State 1, Line 2
The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 2
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".

naturalmente da windows riesco ad accedere al file senza problemi...
se lo stesso foglio excel lo metto in c\... funziona tutto...
grazie e buona fine estate!

lbenaglia Profilo | Guru

>naturalmente da windows riesco ad accedere al file senza problemi...
>se lo stesso foglio excel lo metto in c\... funziona tutto...
Verifica che l'account con il quale gira SQL Server abbia le permission di full-control a livello di share ed NTFS.
Se per caso è LocalSystem scordati di accedere a qualunque risorsa esterna al server
Il server che ospita SQL Server e quello che ospita la share sono in dominio o in workgroup?
Nel caso siano in dominio definisci in AD un nuovo user senza alcun privilegio e via SQL Server Configuration Manager assegnalo al servizio SQL Server; sul server che ospita la share assegna a tale utente le permission a livello di share e NTFS.
Se sono in workgroup definisci sui due server un utente locale senza alcun privilegio con stessa password e sempre via SQL Server Configuration Manager assegnalo al servizio SQL Server; sul server che ospita la share assegna a tale utente le permission a livello di share e NTFS.

>grazie e buona fine estate!
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

trappy Profilo | Newbie

ti riferisci all'utente con cui gira il servizio di sql server o all'utente con cui faccio la connessione? la connessione la faccio con "sa", mentre l'utente con cui gira il servizio è Local system... grazie mille!

lbenaglia Profilo | Guru

>ti riferisci all'utente con cui gira il servizio di sql server
>o all'utente con cui faccio la connessione? la connessione la
>faccio con "sa", mentre l'utente con cui gira il servizio è Local
>system... grazie mille!
All'utente con cui gira il servizio di SQL Server.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5