Bonjour a toutes et a tous,
voila j'ai un problème que je n'arrive pas à résoudre. j'ai un fichier ASCII contenant des données numérique (soit des entiers soit des float) j'arrive sans souci à lancer l'import et la table se peuple, par contre les valeurs insérées n'ont rien à voir avec les valeurs du fichier...
un exemple du contenu de mon fichier :
ID VALUE1 VALUE2 ID2 ID3
1 12677.525 11470.141666666665 2.0 76.0
et voici ce que j'obtiens dans la table...
ID VALUE1 VALUE2 ID2 ID3
1 7.85629522408508E-67 2.73699932493193E-57 3157554 808334903
la requete est la suivante :
et voici le fichier format que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 USE [Schema]; DELETE FROM Table1; DBCC CHECKIDENT (Table1, RESEED, 0); BULK INSERT [Schema].[dbo].[Table1] FROM 'C:\Fichier_Table1.txt' WITH ( FORMATFILE = 'c:\Table1_Format.fmt' )
je ne comprends pas du tout ce qui peux ce passer, j'ai converti le fichier en Unicode puis en UTF-8 mais cela n'a rien changé.10.0
5
1 SQLBIGINT 0 16 "\t" 1 ID SQL_Latin1_General_CP1_CI_AS
2 SQLFLT8 0 32 "\t" 2 VALUE1 SQL_Latin1_General_CP1_CI_AS
3 SQLFLT8 0 32 "\t" 3 VALUE2 SQL_Latin1_General_CP1_CI_AS
4 SQLBIGINT 0 16 "\t" 4 ID2 SQL_Latin1_General_CP1_CI_AS
5 SQLBIGINT 0 16 "\r\n" 5 ID3 SQL_Latin1_General_CP1_CI_AS
j'ai aussi changé le fichier format dans tous les sens, j'ai supprimé la collation, modifié les format pour faire les import en textes, rien n'y fait...
Bon j'ai fini par y arriver, le problème venais des deux dernières variables qui contienne .0 alors que je les veux en int (enfin il me semble) j'ai donc fini par faire un fichier format (en XML) comme sur:
et ca marche, c'est un peu brutal a mon avis mais vu que ca fonctionne je vais faire comme ca, a moins que quelqu'un est une meilleure solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?xml version="1.0"?> <BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RECORD> <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t"/> <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t"/> <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\t"/> <FIELD ID="4" xsi:type="CharTerm" TERMINATOR=".0\t"/> <FIELD ID="5" xsi:type="CharTerm" TERMINATOR=".0\r\n"/> </RECORD> <ROW> <COLUMN SOURCE="1" NAME="ID" xsi:type="SQLBIGINT"/> <COLUMN SOURCE="2" NAME="VALUE1" xsi:type="SQLFLT8"/> <COLUMN SOURCE="3" NAME="VALUE2" xsi:type="SQLFLT8"/> <COLUMN SOURCE="4" NAME="ID2" xsi:type="SQLBIGINT"/> <COLUMN SOURCE="5" NAME="ID3" xsi:type="SQLBIGINT"/> </ROW> </BCPFORMAT>
Partager