OVH Cloud OVH Cloud

BULK INSERT

3 réponses
Avatar
Alex
Bonjour,

Je souhaite utiliser BULK INSERT dans un LOT DTS pour effectuer différents
imports récurents de fichiers déposés sur le serveur.

Les fichiers ont une ligne d'entête que je souhaite sauter. BULK INSERT ne
semble pas proposer cette option et je ne connais pas le nombre de lignes du
fichier à l'avance.

Je pensais faire L'appel du DTS via sp_OAMethod dans une procédure stockée
appelée par une IHM distante.

Quelqu'un aurait il une idée, car via connection à un fichier txt je ne vais
pas voir les disques du serveur mais ceux du client.

3 réponses

Avatar
deco
Voir l'option firstrow.
Telecharger la doc aussi.

BULK INSERT [ [ 'database_name'.] [ 'owner' ].] { 'table_name' FROM
'data_file' }
[ WITH
(
[ BATCHSIZE [ = batch_size ] ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
[ [ , ] DATAFILETYPE [ { 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]
[ [ , ] FIRETRIGGERS [ = fire_triggers ] ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH [ = kilobytes_per_batch ] ]
[ [ , ] LASTROW [ = last_row ] ]
[ [ , ] MAXERRORS [ = max_errors ] ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH [ = rows_per_batch ] ]
[ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
[ [ , ] TABLOCK ]
)
]




"Alex" a écrit dans le message de
news:
Bonjour,

Je souhaite utiliser BULK INSERT dans un LOT DTS pour effectuer différents
imports récurents de fichiers déposés sur le serveur.

Les fichiers ont une ligne d'entête que je souhaite sauter. BULK INSERT ne
semble pas proposer cette option et je ne connais pas le nombre de lignes


du
fichier à l'avance.

Je pensais faire L'appel du DTS via sp_OAMethod dans une procédure stockée
appelée par une IHM distante.

Quelqu'un aurait il une idée, car via connection à un fichier txt je ne


vais
pas voir les disques du serveur mais ceux du client.


Avatar
Alex
"deco" a écrit :

Voir l'option firstrow.
Telecharger la doc aussi.



Voir l'option firstrow. c'était déjà fait et si j'ai précisé que je ne connaissais pas le nombre de ligne c'est que je connais aussi l'option LASTROW, mais si je vais voir un peu plus loin je vois aussi dans différentes docs que LASTROW est par défaut à 0. Hors si j'en crois ceci :



http://blogs.msdn.com/bi_systems/articles/category/4407.aspx

Many users try to skip the first row from a source file by changing the
"First row" and "Last row" settings in the options tab of the Transform Data
task. But this doesn't work; you can't set "First row" to "2" and "Last row"
to "0", and process all but the first row. Instead, modify the DTS "Text file
(source)" connection definition to the flat file. Click the "Properties"
button, and you can specify how many rows you want to skip.

Ok ici on parle de l'IHM de Entreprise Manager mais j'ai vu pas mal de prob
sur des Forums avec l'utilisation de -F 1 sans LASTROW
Avatar
deco
Ok, excuse moi pour la froideur de mon message.
Par contre je ne pense avoir saisi ton pb en fait, parce que si j'essaie ca
:

BULK INSERT TEST_IMPORT
FROM 'info6tempfichier.txt'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = 'n',
FIRSTROW = 2
)

Celà m'importe bien toutes les lignes sauf la premiere...
Pareil si j'utilise l'interface DTS...


Bonne journée



"Alex" a écrit dans le message de
news:
"deco" a écrit :

> Voir l'option firstrow.
> Telecharger la doc aussi.

> Voir l'option firstrow. c'était déjà fait et si j'ai précisé que je ne


connaissais pas le nombre de ligne c'est que je connais aussi l'option
LASTROW, mais si je vais voir un peu plus loin je vois aussi dans
différentes docs que LASTROW est par défaut à 0. Hors si j'en crois ceci :

http://blogs.msdn.com/bi_systems/articles/category/4407.aspx

Many users try to skip the first row from a source file by changing the
"First row" and "Last row" settings in the options tab of the Transform


Data
task. But this doesn't work; you can't set "First row" to "2" and "Last


row"
to "0", and process all but the first row. Instead, modify the DTS "Text


file
(source)" connection definition to the flat file. Click the "Properties"
button, and you can specify how many rows you want to skip.

Ok ici on parle de l'IHM de Entreprise Manager mais j'ai vu pas mal de


prob
sur des Forums avec l'utilisation de -F 1 sans LASTROW