Salut,

J'essaye avec BCP de faire un import en skippant la dernière colonne du fichier d'export : mais ça ne marche pas...

Base de test source : [Test_new]
Table de test source: [dbo].[ZZTest]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE [dbo].[ZZTest](
	[ID] [numeric](3, 0) NOT NULL,
	[NAME] [nchar](10) NOT NULL
) ON [PRIMARY]
GO
Base de test cible : [Test]
Table de test cible: [dbo].[ZZTest]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE [dbo].[ZZTest](
	[ID] [numeric](3, 0) NOT NULL,
	[NAME] [nchar](10) NOT NULL
) ON [PRIMARY]
GO
Export de la structure de la table source sans les données, avec son format uniquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BCP Test_new.dbo.ZZTest format nul -c -f C:\SQL2019\Test_Out_Format.fmt -T -S localhost\MSSQLSERVER01
Contenu du fichier de format.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
14.0
2
1       SQLCHAR             0       41      "\t"     1     ID           ""
2       SQLCHAR             0       20      "\r\n"   2     NAME         SQL_Latin1_General_CP1_CI_AS
Je le modifie en enlevant \t\r\n et en remplaçant 2 par 0 avant NAME.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
14.0
2
1       SQLCHAR             0       41      ""     1     ID           ""
2       SQLCHAR             0       20      ""   0     NAME         SQL_Latin1_General_CP1_CI_AS
Génération du fichier des données source.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BCP [Test_new].[dbo].[ZZTest] out C:\SQL2019\Test_Out.txt -S localhost\MSSQLSERVER01 -T –b1000 –t"," -c
Contenu de celui-ci :
1,FRANCE
1,FRANCE
1,FRANCE
1,FRANCE
1,FRANCE
1,FRANCE
...

Contenu de la table cible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT count(*) from [Test].[dbo].[ZZTest];
0
Import en me basant sur le fichier format.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
BCP [Test].[dbo].[ZZTest] in C:\SQL2019\Test_Out.txt -f C:\SQL2019\Test_Out_Format_Modif.fmt -S localhost\MSSQLSERVER01 -T
Starting copy...
SQLState = 22005, NativeError = 0
Error = [Microsoft][ODBC Driver 17 for SQL Server]Invalid character value for cast specification
SQLState = 22005, NativeError = 0
Error = [Microsoft][ODBC Driver 17 for SQL Server]Invalid character value for cast specification
SQLState = 22005, NativeError = 0
...

Si vous voyiez le pb... merci pour votre aide.


Ikebukuro