OPENROWSET
milena78
milena78 non è online. Ultima attività: 13/05/2009 15.28.30milena78
il 28 novembre 2008 alle 10.16
4 messaggi dal 29 novembre 2006
Ciao a tutti, ho letto nel forum che è possibile importare i dati presenti in un file excel in una tabella sql tramite l’istruzione OPENROWSET.

Sto provando con la seguente sintassi ma ho un errore che riporto di seguito:



SELECT *
INTO demomarchi
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Marchi.xls',
'SELECT * FROM Foglio1$')

Server: messaggio 7321, livello 16, stato 2, riga 1

Si è verificato un errore durante la preparazione di una query per l'esecuzione nel provider OLE DB 'Microsoft.Jet.OLEDB.4.0'.
[OLE/DB provider returned message: Errore di sintassi nella proposizione FROM.]
Traccia di errore OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' ICommandPrepare::Prepare returned 0x80040e14].

Da cosa può dipendere? Sto utilizzando Excel 2003 e SQL 2000.

Grazie,
Milena Calabrese
Microsoft Most Valuable Professional
Re: OPENROWSET
Andrea Montanari
Andrea Montanari non è online. Ultima attività: 05/07/2009 17.54.03Andrea Montanari Top Poster
il 28 novembre 2008 alle 12.36
Contributi | www.asql.biz | 1.135 messaggi dal 27 luglio 2005
salve Milena
milena78 wrote:
Ciao a tutti, ho letto nel forum che è possibile importare i dati presenti in un file excel in una tabella sql tramite
l’istruzione OPENROWSET.

Sto provando con la seguente sintassi ma ho un errore che riporto di seguito:



SELECT *
INTO demomarchi
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0 atabase=C:\Marchi.xls',
'SELECT * FROM Foglio1$')

Server: messaggio 7321, livello 16, stato 2, riga 1

Si è verificato un errore durante la preparazione di una query per l'esecuzione nel provider OLE DB 'Microsoft.Jet.OLEDB.4.0'. [OLE/DB provider returned message: Errore di sintassi nella proposizione FROM.]
Traccia di errore OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' ICommandPrepare: repare returned 0x80040e14].

Da cosa può dipendere? Sto utilizzando Excel 2003 e SQL 2000.

verifica la sintassi del comando, ad esempio
http://support.microsoft.com/kb/321686
e prova a chiudere il nome del "foglio" tra parentesi quadre tipo
'SELECT * FROM [Foglio1$]')

saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de
Re: OPENROWSET
milena78
milena78 non è online. Ultima attività: 13/05/2009 15.28.30milena78
il 28 novembre 2008 alle 14.22
4 messaggi dal 29 novembre 2006
Veramente la sintassi l'ho copiata proprio da quel sito, e se metto le parentesi quadre non mi riconosce il nome del foglio. Cos'altro devo verificare?
Microsoft Most Valuable Professional
Re: OPENROWSET
Andrea Montanari
Andrea Montanari non è online. Ultima attività: 05/07/2009 17.54.03Andrea Montanari Top Poster
il 29 novembre 2008 alle 17.57
Contributi | www.asql.biz | 1.135 messaggi dal 27 luglio 2005
salve
milena78 wrote:
Veramente la sintassi l'ho copiata proprio da quel sito, e se metto le parentesi quadre non mi riconosce il nome del foglio. Cos'altro devo verificare?



prova a definire un linked server, similarmente a
DECLARE @datasrc nvarchar(4000);
DECLARE @provstr nvarchar(4000);

SET @datasrc = 'c:\Test.xls';
SET @provstr = 'Excel 8.0;HDR=NO;IMEX=1'
EXEC [master].[dbo].[sp_addlinkedserver]
'ExcelFile', 'Excel', 'Microsoft.Jet.OLEDB.4.0', @datasrc, '', @provstr , '';
GO
SELECT *
FROM ExcelFile...Foglio1$;

EXEC master..sp_dropserver 'ExcelFile', 'droplogins';
GO

saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de
Microsoft Most Valuable Professional
Re: OPENROWSET
Andrea Montanari
Andrea Montanari non è online. Ultima attività: 05/07/2009 17.54.03Andrea Montanari Top Poster
il 29 novembre 2008 alle 18.07
Contributi | www.asql.biz | 1.135 messaggi dal 27 luglio 2005
proverei anche OPENQUERY..

saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de

Vai a:
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.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9