J'ai du mal à insérer un fichier contenant un champ dans un texte de type de données, et il contient des entrées et le délimiteur pour les champs sont des tubes "| " et la terminaison de ligne est "| \ n"Bulk Insérer un fichier avec un champ de texte avec retour chariot (Entrée)
Je reçois une erreur de troncature pour les champs à côté du champ de texte. Je pense que l'insert en vrac pense que les entrées dans le second champ sont les rangées suivantes.
DECLARE @sql varchar(2000)
PRINT 'xyz table'
SET @sql =
'BULK INSERT xyz
FROM ''\\' + @@servername + '\Import\xyz.txt''
WITH
(
DATAFILETYPE = ''char'',
FIELDTERMINATOR = ''|'',
ROWTERMINATOR = ''|\n'',
TABLOCK,
ROWS_PER_BATCH = 2000,
MAXERRORS = 1000
)
'
PRINT @sql
EXECUTE (@sql)
PRINT ''
GO
Ce sont les données exemple
467507**|**08-20-09\
[8:55:03 AM] *** [email protected] is Not Available [Ext. away]\(CR)
[9:00:57 AM] *** [email protected] is Online [Online]\(CR)
[9:01:00 AM] <jeffp> Howdy. Time slip update game! Update TS#467493 & 467507 with a (CR)comment and see if you win! [9:01:30 AM] *** [email protected] is Away [Away]\
\(CR)
08-18-09\(CR)
[10:13:15 AM] *** [email protected] is Online [Online]\(CR)
[10:13:59 AM] <jeffp> Howdy; welcome back from lunch.. Just pinging you for an update in TS#467493 & 467507. Since 467493 is pri9, want a stock e-mail to go out to the customer to get them moving?\(CR)
[10:14:47 AM] <[email protected]> thats ok i got it\(CR)
[10:14:53 AM] <jeffp> Aiight.**|**2009-08-18 00:00:00**|**2009-08-20 00:00:00**|**JDP**|**JDP**|**
Le schéma de la table est:
create table xyz
(
xyz_id VARCHAR(200), --INT TO VARCHAR
notes text,
create_date varchar(32), --DATETIME
create_user varchar(12),
modify_date varchar(32), --DATETIME
modify_user varchar(12)
)
Comme vous pouvez le voir (bien, ne peut pas voir) il y a entre dans (marqué avec CR) et l'encart en vrac les confond avec une nouvelle rangée.
Toute aide sera appréciée.
Merci
Comment savez-vous quand une ligne se termine vraiment? –
Êtes-vous sûr que la terminaison de ligne est \ n, pas \ r ou \ r \ n? –
la ligne de fin est "| \ n", est juste après la deuxième JDP –