Discussione:
Aprire file *.dat
(troppo vecchio per rispondere)
slim_slim
2003-07-22 13:58:38 UTC
Permalink
Salve a tutti,
Ho la necessutà di importare un file *.dat relativo a dati e in Sql non mi
riconosce questo tipo di formato.
Qualcuno mi dà un Help

Grazie 1000.
Andrea Montanari
2003-07-22 14:20:39 UTC
Permalink
salve slim_slim,
Post by slim_slim
Salve a tutti,
Ho la necessutà di importare un file *.dat relativo a dati e in Sql non mi
riconosce questo tipo di formato.
sei in grado di dire che tipo di dati ci sono nel file .dat??? binari, testo
separato da TAB, da virgola??
saluti
Andrea Montanari
***@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0 - DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
slim_slim
2003-07-22 14:25:01 UTC
Permalink
Post by Andrea Montanari
salve slim_slim,
Post by slim_slim
Salve a tutti,
Ho la necessutà di importare un file *.dat relativo a dati e in Sql non mi
riconosce questo tipo di formato.
sei in grado di dire che tipo di dati ci sono nel file .dat??? binari, testo
separato da TAB, da virgola??
saluti
Andrea Montanari
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0 - DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
Il file lo apro con il notpad e, a parte le prime tre righe di caratteri
incasinati, tutte le colonne sono separate dal tab e leggibili? Spero Basti?
Andrea Montanari
2003-07-22 14:59:46 UTC
Permalink
salve,
Post by slim_slim
Il file lo apro con il notpad e, a parte le prime tre righe di caratteri
incasinati, tutte le colonne sono separate dal tab e leggibili? Spero Basti?
parto dal presupposto che tale file rappresenti una specie di dump di
un'unica tabella o vista...

se i dati sono leggibili in chiaro possono diciamo rappresentare una cosa
simile:
Cognome Nome DataNascita Sesso
Andrea Montanari 19651030 M
Gianluca Hotz 19700806 M
Lorenzo Benaglia 19710612 M
Luca Bianchi 19681011 M

sperando che il layout del dump di esportazione corrisponda colonna per
colonna alla struttura della tabella che devi caricare, potresti utilizzare
l'utilita' a riga di comando BCP (Bulk Copy Program) progettata allora,
quando ancora non esisteva DTS, per il caricamento veloce di dati in SQL
Server...


come vedi al bookmark
mk:@MSITStore:C:\Programmi\Microsoft%20SQL%20Server\80\Tools\Books\coprompt.
chm::/cp_bcp_61et.htm
dei Books on Line di SQL Server, potresti appunto chiamare

bcp [database_name.][owner].[table_name | view_name] in c:\pippo.dat -e
c:\err.txt -c

potresti omettere il carattere di terminazione campo in quanto il default e'
il TAB ma comunque il parametro sarebbe
-t \t

il carattere di terminazione riga va indicato con -r \n dove \n indica il
carattere standard di nuova riga...

continui con
-S server_name\instance_name -U login_id -P password

per cui, tutto di seguito:
bcp [database_name.][owner].[table_name] in c:\pippo.dat -e c:\err.txt -c -t
\t -r \n -S server_name\instance_name -U login_id -P password

ora il problema potrebbero essere le prime 3 righe "illeggibili"...
se anche queste sono terminate ognuna con lo stesso carattere delle righe
"normali", potresti indicare a BCP di skippare semplicemente queste righe
con il parametro
-F numero_riga
dove numero_riga corrispondera' alla prima riga da ritenere valida in questo
contesto...
oppure puoi semplicemente aprire il file .dat e rimuovere tali righe.....

se la struttura del dump non e' allineata con quella della tabella di
importazione, puoi aggiungere un file di formato, in questo caso pero'
costruito manualmente come definito al seguente bookmark dei BOL di SQL
Server,
mk:@MSITStore:C:\Programmi\Microsoft%20SQL%20Server\80\Tools\Books\adminsql.
chm::/ad_impt_bcp_9yat.htm
in modo ad esempio da ridefinire la posizione delle colonne..
saluti
Andrea Montanari
***@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0 - DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

Loading...