Problema lettura dati dopo esportazione in excel

venerdì 10 dicembre 2010 - 13.54
Tag Elenco Tags  Windows Vista

VincentGT Profilo | Newbie

Prima di tutto vi premetto che sono nuovo e non esperto di sql, e di aver spulciato per bene questo forum, ma non ho trovato nessun post che potesse aiutarmi.
Vi spiego il mio problema partendo dall'inizio e cercando di essere preciso. Un mio cliente una settimana fà mi ha chiesto sotto forma di favore di fare alcune statistiche sul suo database clienti, mi ha consegnato il file .mdf e il file .log del loro database, dopo aver creato un db nuovo in sql server expresss edition toolkit ho collegato il loro db riuscendo a caricarlo senza nessun problema. il mio compito era di esportare il db in excel per poterne fare delle statistiche sui loro clienti, visto che il db contiene degli storici d'ordine. Per esportare il db ho usato il dts wizard, creando un foglio excel con le rispettive colonne e salvato sul disco in C, fin qui tutto ok e anche l'esportazione, solo che all'apertura del file di excel le colonne non sono visualizzate come nomi ecc..., mi vengono esportati solo i numeri progressivi dei clienti e l'identificativo delle loro card. Vorrei sapere come far trascrivere tutti i campi come nome cognome ecc..
Vi dico di aver effettuato anche un'altra strada, ho provato ad importare da open office org base collegando il db ad un sql in modalità ado, l'importazione avviente e visualizzo il db clienti in questione però qui a differenza di excel riesco a visualizzare anche altri dati come date di nascita ecc, ma senza i rispettivi nomi cognomi ecc che rimangono vuoti.
Vorrei sapere se ce un modo per risolvere il problema. Vi premetto che sql è configurato in locale e che il mio cliente mi ha acnhe dato una user e una pass, e che comunque all'apertura del db in sql i campi nomi dati telefono ordini ecc li visualizzzo con il linguaggio di confronto, non so se questi dati sono crittografati.
spero sia un problema risolvibile.
aspetto vostre nortizie

lbenaglia Profilo | Guru

>in sql i campi nomi dati telefono ordini ecc li visualizzzo con
>il linguaggio di confronto, non so se questi dati sono crittografati.
>spero sia un problema risolvibile.

Ciao cosa intendi con "linguaggio di confronto"?
Se da SQL Server Management Studio prendi in esame la tabella contenente i dati che ti servono e scrivi:
SELECT * FROM dbo.Tabella;

Le colonne Nome, Cognome, Telefono, ecc. sono valorizzate correttamente?

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

VincentGT Profilo | Newbie

per linguaggio di confronto intendevo questa regola Latin1_General_CI_AS, scusami. comunque ho scritto la query che mi hai dato e nei risulatati mi restituisce i campi nomi cognomi ecc vuoti, riesco a vedere solo i dati delle nascite, privacy ecc... In che senso valorizzate correttamente?Come mai visualizzo questi campi senza dati?da cosa dipende? grazie per il tuo prezioso aiuto!

lbenaglia Profilo | Guru

>per linguaggio di confronto intendevo questa regola Latin1_General_CI_AS,
OK, la collation.

>comunque ho scritto la query che mi hai dato e nei risulatati
>mi restituisce i campi nomi cognomi ecc vuoti, riesco a vedere
>solo i dati delle nascite, privacy ecc... Come mai visualizzo
>questi campi senza dati?da cosa dipende?
Semplice, dipende dal fatto che non ci sono
Giusto per curiosità, prova a scrivere:

SELECT nome, LEN(nome) AS Lunghezza
FROM dbo.Tabella;

Se Lunghezza è 0 significa che le colonne non contengono alcun valore (stringa nulla '') oppure NULL nel caso in cui non siano state valorizzate.

>grazie per il tuo prezioso
>aiuto!
Prego.

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

VincentGT Profilo | Newbie

Allora ottengo questo: scheda messaggi righe interessate 45718 e per risultati ottengo la colonna nome vuota e la colonna lunghezza di valori vari tipo i primi e 4 dicono 14, poi 18, poi 22 ecc...

lbenaglia Profilo | Guru

>Allora ottengo questo: scheda messaggi righe interessate 45718
>e per risultati ottengo la colonna nome vuota e la colonna lunghezza
>di valori vari tipo i primi e 4 dicono 14, poi 18, poi 22 ecc...

Allora o ci sono degli spazi oppure non ne ho idea.
Quanto è grosso il db? Puoi eseguire un backup, zipparlo e allegarlo ad un nuovo post?

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

VincentGT Profilo | Newbie

il file di backup è di 25 mb (zippato 6mb), altrimenti il file mdf e log insieme fanno al massino 8 mb. dimmi tu cosa combinare.

lbenaglia Profilo | Guru

>il file di backup è di 25 mb (zippato 6mb), altrimenti il file
>mdf e log insieme fanno al massino 8 mb. dimmi tu cosa combinare.

Prova ad allegare lo zip del backup di 6MB.

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

VincentGT Profilo | Newbie

ciao scusa per le incessanti risposte ma ho provato ad allegarti il file zip ma mi da continuamente errore err_connect_reset, non è che potrei mandartelo per email? grazie per la pazienza.

lbenaglia Profilo | Guru

> ciao scusa per le incessanti risposte ma ho provato ad allegarti
>il file zip ma mi da continuamente errore err_connect_reset,
>non è che potrei mandartelo per email? razie per la pazienza.

OK, ti contatto in privato.

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

lbenaglia Profilo | Guru

Allora, ho eseguito il restore e ho provato a recuperare i primi 10 clienti:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Le colonne che contengono informazioni stringa sono state definite tutte in formato UNICODE (nvarchar) e come vedi contengono stringhe in alfabeto Kanji

Possibile?
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

VincentGT Profilo | Newbie

si io le vedo in quel modo, come faccio a resettarle??ti dico sinceramente non so neache cosa sia il kanji???quindi c'è possibilità di recupero?

lbenaglia Profilo | Guru

>si io le vedo in quel modo, come faccio a resettarle??
Non c'è niente da resettare, i dati sono quelli

>ti dico sinceramente non so neache cosa sia il kanji???
E' uno degli alfabeti giapponesi.
http://it.wikipedia.org/wiki/Kanji

>quindi c'è possibilità di recupero?
Ti conviene contattare chi ti ha passato il db, magari per privacy l'applicazione adotta una sorta di algoritmo per "crittografare" i dati.

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

VincentGT Profilo | Newbie

ok, grazie mille!ultima cosa ma l'algoritmo di crittografia è in un file a parte ai file mdf e log?all'interno di sql non è possibile decrittografarli?grazie mille per il tuo aiuto!sei stato gentilissimo.

lbenaglia Profilo | Guru

>ok, grazie mille!ultima cosa ma l'algoritmo di crittografia è
>in un file a parte ai file mdf e log?all'interno di sql non è
>possibile decrittografarli?

SQL Server integra un proprio sistema di crittografia basato su certificati, chiavi simmetriche e chiavi asimmetriche (vedi http://www.visual-basic.it/articoli/lbSQLprotection.htm) ma nel db che mi hai passato non è presente niente di tutto questo, di conseguenza deduco che l'algoritmo (se di crittografia si tratta) sia incapsulato nell'applicazione che accede a questo db.

>grazie mille per il tuo aiuto!sei
>stato gentilissimo.
Prego.

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

VincentGT Profilo | Newbie

ciao Lorenzo, riscrivo in questo post per ulteriori sviluppi, allora sono andato dal mio cliente ma non mi ha detto chi gli ha realizzato il db, è stato licenziato (non mi hanno voluto spiegare xchè), tuttavia sono riuscito a contattarlo tramite amici e mi ha inviato tre certificati e mi ha detto di rinserirli nella cartella del db, sono gli stessi certificati che io ho trovato nella loro cartella db. possibile che sia cosi semplice??nella cartella del programma non sono riuscito a trovare nessun ceritficato...hai consigli da darmi? ti servono dati del certificato per capirci qualcosa?

lbenaglia Profilo | Guru

>ciao Lorenzo, riscrivo in questo post per ulteriori sviluppi,
>allora sono andato dal mio cliente ma non mi ha detto chi gli
>ha realizzato il db, è stato licenziato (non mi hanno voluto
>spiegare xchè), tuttavia sono riuscito a contattarlo tramite
>amici e mi ha inviato tre certificati e mi ha detto di rinserirli
>nella cartella del db, sono gli stessi certificati che io ho
>trovato nella loro cartella db. possibile che sia cosi semplice??nella
>cartella del programma non sono riuscito a trovare nessun ceritficato...hai
>consigli da darmi? ti servono dati del certificato per capirci
>qualcosa?
Nell'articolo di Luca che ti ho segnalato troverai spiegato per benino come funziona la gestione dei certificati, chiavi simmetriche ed asimmetriche in SQL Server.
Prova a vedere se con quello che hai riesci a cavarci qualcosa, altrimenti coordinati col tipo che ti ha passato quei certificati.

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