OVH Cloud OVH Cloud

Bulk Insert Unix file

2 réponses
Avatar
Julien
Bonjour,

J'aimerai importer un fichier venant d'une machine Unix par la méthode Bulk
Insert.
Hélas: \n Unix <> \n windows.
Je n'arrive pas à importer a cause du délimiteur de fin de ligne...

Est-ce possible avec Bulk Insert ?

Par avance merci.

Julien
PS : je ne comprends pas grand chose au termes CODEPAGE, unnicode, etc ...
J'aimerai trouver un turoriel pouvant m'eclairer ...
Merci !

2 réponses

Avatar
lionelp
Bonjour,

Ca doit être possible à l'aide d'un fichier de format (voir aide sur bcp) où
le délimiteur de fin de ligne par défaut n'est pas rn mais n ou
inversement.

Cordialement,
LionelP

"Julien" wrote in message
news:%
Bonjour,

J'aimerai importer un fichier venant d'une machine Unix par la méthode


Bulk
Insert.
Hélas: n Unix <> n windows.
Je n'arrive pas à importer a cause du délimiteur de fin de ligne...

Est-ce possible avec Bulk Insert ?

Par avance merci.

Julien
PS : je ne comprends pas grand chose au termes CODEPAGE, unnicode, etc ...
J'aimerai trouver un turoriel pouvant m'eclairer ...
Merci !




Avatar
Julien
Bonjour,
On peut indiquer un ROWTERMINATOR dès la cmd bulk insert. (voie exemple)
Ce qu'il y a c'est que c'est pas evident a taper un caractere ascii char(10)
...


Finalement j'ai reussi, et c'est possible directemment mais il faut
imbriquer la commande BULK INSERT dans un varchar.
je trouve que c'est un peu de la bidouille mais ca fonctionne ...

exemple :
set @str = 'BULK INSERT table FROM ''' + @path_file + '''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = ''??'',
ROWTERMINATOR = '''+char(10)+'''
)'
print @str
exec (@str)

Mais merci pour votre aide !!
:-)
Julien



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

Ca doit être possible à l'aide d'un fichier de format (voir aide sur bcp) où
le délimiteur de fin de ligne par défaut n'est pas rn mais n ou
inversement.

Cordialement,
LionelP

"Julien" wrote in message
news:%
Bonjour,

J'aimerai importer un fichier venant d'une machine Unix par la méthode


Bulk
Insert.
Hélas: n Unix <> n windows.
Je n'arrive pas à importer a cause du délimiteur de fin de ligne...

Est-ce possible avec Bulk Insert ?

Par avance merci.

Julien
PS : je ne comprends pas grand chose au termes CODEPAGE, unnicode, etc ...
J'aimerai trouver un turoriel pouvant m'eclairer ...
Merci !