OVH Cloud OVH Cloud

Importer des données

6 réponses
Avatar
ple_ain
Bonjour,

Je voudrais écrire un script qui importe automatiquement des données
dans une table Sql à partir d'un fichier texte.

Merci pour votre aide.

6 réponses

Avatar
Christian Robert
Un script SQL ?
BULK INSERT sait faire ce genre de choses

Un script type ligne de commande en .CMD ou .BAT ?
bcp.exe sait faire ce genre de choses

Sinon DTS aussi, pour des opérations plus complexes...

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD
MCTS & MCITP SQL Server 2005


"ple_ain" a écrit :

Bonjour,

Je voudrais écrire un script qui importe automatiquement des données
dans une table Sql à partir d'un fichier texte.

Merci pour votre aide.





Avatar
Anthony
Désolé de vous répondre cela mais ça ne marche pas :
Sql Server me renvoie : "Syntaxe incorrecte vers le mot clé 'DEFAULT'."

On m'a parlé d'un ADD CONSTRAINT (si cela vous dit quelque chose), mais sans
succès.

Merci,

--
Anthony
Développeur .NET


"ple_ain" a écrit :

Bonjour,

Je voudrais écrire un script qui importe automatiquement des données
dans une table Sql à partir d'un fichier texte.

Merci pour votre aide.





Avatar
ple_ain
Merci bien.
Je viens d'essayer et j'arrive effectivement à récupérer des données avec
BULK INSERT.
Ca a l'air de fonctionner mais les caractères accentués sont perdus :
tous les é sont transformés en Ú.
(Les données proviennent d'un fichier Excel enregistré au format texte avec
tabulations).
Comment régler ce problème?

Je dois exécuter ce SQL dans un .BAT qui sera lancé sur plusieurs serveurs
dont je ne connais ni les noms ni l'arborescence :
comment éviter de donner un chemin d'accès au fichier texte ?



"Christian Robert" (sansspam)> a écrit dans le
message de news:
Un script SQL ?
BULK INSERT sait faire ce genre de choses

Un script type ligne de commande en .CMD ou .BAT ?
bcp.exe sait faire ce genre de choses

Sinon DTS aussi, pour des opérations plus complexes...

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD
MCTS & MCITP SQL Server 2005


"ple_ain" a écrit :

Bonjour,

Je voudrais écrire un script qui importe automatiquement des données
dans une table Sql à partir d'un fichier texte.

Merci pour votre aide.







Avatar
Pierre Goiffon
ple_ain wrote:
Ca a l'air de fonctionner mais les caractères accentués sont perdus :
tous les é sont transformés en Ú.



Votre fichier doit être codé en CP850 mais lu comme de l'ISO Latin-1

En utilisant l'excellent http://www.miakinen.net/vrac/charsets/, on
constate en effet que la position occupée par le "é" (U+00E9) en Latin-1
est occupée par le "Ú" (U+00DA) en CP850
Avatar
philippe
"ple_ain" a écrit dans le message de news:

Merci bien.
Je viens d'essayer et j'arrive effectivement à récupérer des données avec
BULK INSERT.
Ca a l'air de fonctionner mais les caractères accentués sont perdus :
tous les é sont transformés en Ú.



Dans Options tu utilises le code page ACP ... et tout rentre dans l'ordre.
Avatar
ple_ain
J'ai essayé avec la syntaxe
BULK INSERT NomBase.dbo.[NomTable]
FROM 'C:fichier.txt'
with (CODEPAGE = 'ACP')
et ça va bien.

Merci beaucoup à tous.

En revanche, avec bcp j'ai fait plusieurs tentatives mais je ne trouve pas
la bonne syntaxe ...

Cordialement