DOMANDA E' possibile Importare un txt in un Db Sql server tramite una macro di un Db Access?

Pubblicità
Seguendo il tuo fileFormat, ed estrapolando i dati, la prima riga termina prima del dovuto modifica il fileFormat e imposta così l'ultima riga.

14 SQLCHAR 0 1 "\r\n" 14 Tappo Latin1_General_CI_AS

Vediamo se almeno andiamo avanti

ok, allora questo è il risultato apportando le tue modifiche:

Codice:
10.0
14
1       SQLCHAR             0       3       "\t"     1     IDMAR          Latin1_General_CI_AS
2       SQLCHAR             0       3       "\t"     2     IDMOD          Latin1_General_CI_AS
3       SQLCHAR             0       3       "\t"     3     IDVER          Latin1_General_CI_AS
4       SQLCHAR             0       20      "\t"     4     PARNO          Latin1_General_CI_AS
5       SQLCHAR             0       4       "\t"     5     IDPAR          Latin1_General_CI_AS
6       SQLCHAR             0       1       "\t"     6     TPPAR          Latin1_General_CI_AS
7       SQLCHAR             0       4       "\t"     7     IDSIM          Latin1_General_CI_AS
8       SQLCHAR             0       30      "\t"     8     ULTDS          Latin1_General_CI_AS
9       SQLCHAR             0       40      "\t"     9     PECOS          Latin1_General_CI_AS
10      SQLCHAR             0       100     "\t"     10    COLOR          Latin1_General_CI_AS
11      SQLCHAR             0       12      "\t"     11    PRZLI          Latin1_General_CI_AS
12      SQLCHAR             0       1       "\t"     12    STSPN          Latin1_General_CI_AS
13      SQLCHAR             0       4       "\t"     13    IDGRU          Latin1_General_CI_AS
14      SQLCHAR             0       1       "\r\n"   14    Tappo          Latin1_General_CI_AS

Questo è il codice che attualmento sto utilizzando nella QuerySQL :
Codice:
USE Listini_Ricambi;
GO
DELETE dbo.Listini_versione_import;
GO
BULK INSERT dbo.Listini_versione_import
   from 'C:\Db_Listini_Ricambi\Listino\T_Listini_versione2mb.txt'
   with ( formatfile = 'C:\Db_Listini_Ricambi\FormatFile\FormatFile.fmt');
GO
SELECT * FROM Listini_versione_import;
GO

Questo è il messaggio di errore :

Codice:
(0 row(s) affected)
[COLOR=#ff0000]Msg 4866, Level 16, State 1, Line 1
The bulk load failed. The column is too long in the data file for row 1, column 1. Verify that the field terminator and row terminator are specified correctly.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".[/COLOR]

(0 row(s) affected)


Io non riesco a focallizare l'errore, ogni modifica mi porta solo ad altri errori
 
ok, allora questo è il risultato apportando le tue modifiche:

Codice:
10.0
14
1       SQLCHAR             0       3       "\t"     1     IDMAR          Latin1_General_CI_AS
2       SQLCHAR             0       3       "\t"     2     IDMOD          Latin1_General_CI_AS
3       SQLCHAR             0       3       "\t"     3     IDVER          Latin1_General_CI_AS
4       SQLCHAR             0       20      "\t"     4     PARNO          Latin1_General_CI_AS
5       SQLCHAR             0       4       "\t"     5     IDPAR          Latin1_General_CI_AS
6       SQLCHAR             0       1       "\t"     6     TPPAR          Latin1_General_CI_AS
7       SQLCHAR             0       4       "\t"     7     IDSIM          Latin1_General_CI_AS
8       SQLCHAR             0       30      "\t"     8     ULTDS          Latin1_General_CI_AS
9       SQLCHAR             0       40      "\t"     9     PECOS          Latin1_General_CI_AS
10      SQLCHAR             0       100     "\t"     10    COLOR          Latin1_General_CI_AS
11      SQLCHAR             0       12      "\t"     11    PRZLI          Latin1_General_CI_AS
12      SQLCHAR             0       1       "\t"     12    STSPN          Latin1_General_CI_AS
13      SQLCHAR             0       4       "\t"     13    IDGRU          Latin1_General_CI_AS
14      SQLCHAR             0       1       "\r\n"   14    Tappo          Latin1_General_CI_AS

Questo è il codice che attualmento sto utilizzando nella QuerySQL :
Codice:
USE Listini_Ricambi;
GO
DELETE dbo.Listini_versione_import;
GO
BULK INSERT dbo.Listini_versione_import
   from 'C:\Db_Listini_Ricambi\Listino\T_Listini_versione2mb.txt'
   with ( formatfile = 'C:\Db_Listini_Ricambi\FormatFile\FormatFile.fmt');
GO
SELECT * FROM Listini_versione_import;
GO

Questo è il messaggio di errore :

Codice:
(0 row(s) affected)
[COLOR=#ff0000]Msg 4866, Level 16, State 1, Line 1
The bulk load failed. The column is too long in the data file for row 1, column 1. Verify that the field terminator and row terminator are specified correctly.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".[/COLOR]

(0 row(s) affected)


Io non riesco a focallizare l'errore, ogni modifica mi porta solo ad altri errori

Togli "\t" e sostituisci con "" il formatfile
 
:oogle: Ho una domanda stupida: Ma la faccio perchè voglio togliermi ogni dubbio.

Il codice che ti ho indicato dove lo dovrei inserire di preciso, perchè io ho generato una New Query premendo tasto destro sul Database in questione.

..è questa la procedura corretta?

- - - Updated - - -

Togli "\t" e sostituisci con "" il formatfile


Fatto, altro errore!
Codice:
(0 row(s) affected)
[COLOR=#ff0000]Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
[/COLOR]
(0 row(s) affected)

- - - Updated - - -

:oogle: Ho una domanda stupida: Ma la faccio perchè voglio togliermi ogni dubbio.

Il codice che ti ho indicato dove lo dovrei inserire di preciso, perchè io ho generato una New Query premendo tasto destro sul Database in questione.

..è questa la procedura corretta?

- - - Updated - - -




Fatto, altro errore!
Codice:
(0 row(s) affected)
[COLOR=#ff0000]Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
[/COLOR]
(0 row(s) affected)

Ragazzi nessuno può aiutarmi?
 
Pubblicità
Pubblicità
Indietro
Top