Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Import File Excel
venerdì 03 settembre 2010 - 10.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 10:23
Ho un problema con SSIS e l'import di un File Excel. Il file è composto da più colonne tutte di tipo Testo, ma una in particolare contiene nelle celle o solo numeri o solo testi. Quando la prima riga di input è un numero SSIS dopo aver effettuato l'import dei dati su Db, noto che scarta le celle che hanno testi. Ma nell'ogetto Excel, presente nel SSi, sia la colonna di input, che la colonna di output sono definite di tipo Testo (50crt).
Come soluzione temporanea ho fatto una console application che aggionge il carattere apice e cosi, magicamente anche le celle che contengono solo stringhe sono prese in considerazione. Però vorrei capire se c'è modo per risolvere il problema in modo migliore.
grazie mille!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 3 set 2010 - 10:29
Ciao!
>Come soluzione temporanea ho fatto una console application che
>aggionge il carattere apice e cosi, magicamente anche le celle
>che contengono solo stringhe sono prese in considerazione. Però
>vorrei capire se c'è modo per risolvere il problema in modo migliore.
La procedura di importazione ti dà la possibilità di definire il mapping quando vai a scegliere la tabella da importare e quella da creare.
In quella da creare (o su cui fai l'append) come è definito il campo?
>grazie mille!!!
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 10:37
Nel mapping la cella è definita come testo, e nel file Excel se con il muose mi posizioni su una singola cella la formattazione mi dice che è di tipo Testo.
Però se prendo lo stesso file e faccio i passi del Wizard di SQL, anche in questro caso la colonna viene vista come numerico e se nel mapping e nella destinazione imposto la colonna come nvarchar(50) comunque i testi vengono scartati
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 3 set 2010 - 11:00
>Nel mapping la cella è definita come testo, e nel file Excel
>se con il muose mi posizioni su una singola cella la formattazione
>mi dice che è di tipo Testo.
>Però se prendo lo stesso file e faccio i passi del Wizard di
>SQL, anche in questro caso la colonna viene vista come numerico
>e se nel mapping e nella destinazione imposto la colonna come
>nvarchar(50) comunque i testi vengono scartati
Che strano, ho provato con excel2010 e sql 2008.. funziona.
Riesci ad allegarmi l'excel? Hai anche la definizione della tabella?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 11:18
1433_EsempioFileExcel.zip
il file lo trovi in allegato ed è excel2007 e qui lo script di creazioen tabella
CREATE TABLE [dbo].[WEB_Import_Host](
[ELEMENTO] [nvarchar](255) NULL,
[HOSTNAME] [nvarchar](255) NULL,
[IP] [nvarchar](50) NULL,
[DESCRIZIONE_FUNZIONE] [nvarchar](200) NULL,
[SERIAL_NUMBER] [nvarchar](255) NULL,
[ENGINEMIDDLEWARE] [nvarchar](100) NULL,
[MODELLO_HW] [nvarchar](200) NULL,
[TIPO_SO] [nvarchar](50) NULL,
[VERSIONE_SO] [nvarchar](50) NULL,
[TIPO_DB] [nvarchar](50) NULL,
[NOME_DB] [nvarchar](50) NULL,
[VALIDATOR] [nvarchar](200) NULL,
[ADMIN] [nvarchar](200) NULL,
[LOGIN] [nvarchar](7) NULL,
[TIPOIP] [nvarchar](50) NULL
) ON [PRIMARY]
GO
trappy
Profilo
| Newbie
40
messaggi | Data Invio:
ven 3 set 2010 - 12:01
che versione di sql e di excel stai usando? su sql 200o e anche 2005 ho avuto + volte lo stesso tuo problema, adesso cerco come lo avevo risolto e ti dico!
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 12:05
Versione di Excel 2007 e sql 2008
trappy
Profilo
| Newbie
40
messaggi | Data Invio:
ven 3 set 2010 - 12:14
http://www.sqldts.com/254.aspx
prova a vedere se è la stessa cosa... i sintomi paiono gli stessi, non so la cura! buona fortuna!
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 12:18
Guardo!! spero di trovare la cura.. ma non sarpei proprio!!!
grazie lo stesso.
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
ven 3 set 2010 - 13:07
Verificato ma l'unica soluzione che funziona è quello di aprire il file Excel e ribadire il fatto delle celle che siano di tipo testuali..
altrimenti non va!!!
GRazie lo stesso
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 4 set 2010 - 12:06
>il file lo trovi in allegato ed è excel2007
quali tabelle ti danno problemi, o meglio, quali fogli excel?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
lun 6 set 2010 - 14:47
Il secondo sheet di Excel che ho postato. E' una colonna che è definita testo ma che contiene nelle celle solo numero o solo testi e sql 2008 vede tale colonna come numero e non come testo.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 6 set 2010 - 15:08
>Il secondo sheet di Excel che ho postato. E' una colonna che
>è definita testo ma che contiene nelle celle solo numero o solo
>testi e sql 2008 vede tale colonna come numero e non come testo.
Nel foglio excel, ci sono due sheet.. se intendi il primo, a me funziona tutto correttamente.
Ho provato a mettere "usa la prima riga come intestazione" ma il risultato non cambia, importa il tutto correttamente.
Nelle trasformazioni c'è quello che mi aspetto.
Come ultima prova, quando fai l'import, oltre ad indicare di lanciare il tutto immediatamente, specifica "save package" e mettilo sul disco.
In tal modo, puoi controllare quello che genera e capire dove sta l'errore.. Così almeno capiamo che cosa si inventa il motore.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
mar 7 set 2010 - 08:55
E' il secondo sheet che non funziona, più precisamente nella colonna VERSIONE SO che dev'esser di tipo testo e stringa nel Db, ma che in fase di import la vede com long.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 7 set 2010 - 10:19
>E' il secondo sheet che non funziona, più precisamente nella
>colonna VERSIONE SO che dev'esser di tipo testo e stringa nel
>Db, ma che in fase di import la vede com long.
Ho rifatto la prova, e ottengo questo caricamento:
1518x390
69Kb
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
dudu75it
Profilo
| Newbie
9
messaggi | Data Invio:
mar 7 set 2010 - 10:37
Non so cosa dirti, in quanto quel File Excel in versione 2003, con la versione di SQL 2008, il secondo sheet, non mi importa in modo corretto la colonna Versione So. Tu cos'hai fatto?
Io ho provato anche con l'import, wizard di SQL ad importarmi il file e salvare il SSIS ma anche in questo caso mi vede la colonna di tipo Long e non Stringa.
Se mi puoi indicare quali passi hai fatto provo a farli anche io.
Solo nel caso in cui apro il file Excel, vado ulla colonna Versione So e faccio doppio clik per ogni cella che contiene un dato, salvo il file e lo importo allora va a buon fine.. Ma questa soluzione non posso considerarla valita...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 7 set 2010 - 12:05
>Solo nel caso in cui apro il file Excel, vado ulla colonna Versione
>So e faccio doppio clik per ogni cella che contiene un dato,
>salvo il file e lo importo allora va a buon fine.. Ma questa
>soluzione non posso considerarla valita...
Ho provato a farlo su di una macchina che non ha office 2010. Ma solo 2003.. ed effettivamente viene proposta la maschera di conversione (da real???? mah..).
Potresti provare a scaricare la connettività di office 2010, perchè pare che il bug sia stato risolto..
Prova a vedere con l'installazione di questi due componenti:
http://www.microsoft.com/downloads/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en
http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
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 !